Skip to content

Commit bd32464

Browse files
committed
Fix builds for Windows an Linux
1 parent b73250b commit bd32464

File tree

4 files changed

+52
-44
lines changed

4 files changed

+52
-44
lines changed

.travis.yml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
language: cpp
2-
compiler:
3-
- gcc
4-
script: make dist
2+
addons:
3+
apt:
4+
sources:
5+
- ubuntu-toolchain-r-test
6+
packages:
7+
- g++-4.8
8+
script:
9+
- export CXX="g++-4.8" CC="gcc-4.8"
10+
- make dist
511
notifications:
612
email:
713
recipients:

Makefile

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
CFLAGS ?= -std=gnu99 -Os -Wall
2-
CXXFLAGS ?= -std=c++11 -Os -Wall
2+
CXXFLAGS ?= -std=gnu++11 -Os -Wall
33

44
ifeq ($(OS),Windows_NT)
55
TARGET_OS := WINDOWS
@@ -42,7 +42,7 @@ INCLUDES := -Itclap -Ispiffs -I.
4242
CFLAGS += $(TARGET_CFLAGS)
4343
CXXFLAGS += $(TARGET_CXXFLAGS)
4444

45-
CPPFLAGS += $(INCLUDES) -D$(TARGET_OS) -DVERSION=\"$(VERSION)\"
45+
CPPFLAGS += $(INCLUDES) -D$(TARGET_OS) -DVERSION=\"$(VERSION)\" -D__NO_INLINE__
4646

4747
DIST_NAME := mkspiffs-$(VERSION)-$(DIST_SUFFIX)
4848
DIST_DIR := $(DIST_NAME)
@@ -52,13 +52,13 @@ DIST_ARCHIVE := $(DIST_NAME).$(ARCHIVE_EXTENSION)
5252

5353
all: $(TARGET)
5454

55-
dist: test $(DIST_ARCHIVE)
55+
dist: test $(DIST_ARCHIVE)
5656

5757
$(DIST_ARCHIVE): $(TARGET) $(DIST_DIR)
5858
cp $(TARGET) $(DIST_DIR)/
5959
$(ARCHIVE_CMD) $(DIST_ARCHIVE) $(DIST_DIR)
6060

61-
$(TARGET): $(OBJ)
61+
$(TARGET): $(OBJ)
6262
g++ $^ -o $@
6363
strip $(TARGET)
6464

@@ -73,8 +73,8 @@ clean:
7373

7474
test: $(TARGET)
7575
ls -1 spiffs > out.list0
76-
./mkspiffs -c spiffs -s 0x80000 -p 512 -b 0x2000 out.spiffs > out.list1
77-
./mkspiffs -l -s 0x80000 -p 512 -b 0x2000 out.spiffs | cut -f 2 | sort > out.list2
78-
diff out.list0 out.list1
79-
diff out.list0 out.list2
76+
./mkspiffs -c spiffs -s 0x80000 -p 512 -b 0x2000 out.spiffs | sort | sed s/^\\/// > out.list1
77+
./mkspiffs -l -s 0x80000 -p 512 -b 0x2000 out.spiffs | cut -f 2 | sort | sed s/^\\/// > out.list2
78+
diff --strip-trailing-cr out.list0 out.list1
79+
diff --strip-trailing-cr out.list0 out.list2
8080
rm -f out.{list0,list1,list2,spiffs}

appveyor.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ matrix:
1212
build_script:
1313
- SET PATH=C:\MinGW\bin;C:\MinGW\msys\1.0\bin;%PATH%
1414
- make dist
15-
- appveyor PushArtifact mkspiffs*.zip
15+
16+
artifacts:
17+
- path: '*.zip'
1618

1719
deploy:
1820
release: $(PRODUCT_VERSION)

main.cpp

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -52,39 +52,39 @@ static s32_t api_spiffs_write(u32_t addr, u32_t size, u8_t *src){
5252
static s32_t api_spiffs_erase(u32_t addr, u32_t size){
5353
memset(&s_flashmem[0] + addr, 0xff, size);
5454
return SPIFFS_OK;
55-
}
55+
}
5656

5757

5858
//implementation
5959

6060
int spiffsTryMount(){
6161
spiffs_config cfg = {0};
62-
62+
6363
cfg.phys_addr = 0x0000;
6464
cfg.phys_size = (u32_t) s_flashmem.size();
65-
65+
6666
cfg.phys_erase_block = s_blockSize;
6767
cfg.log_block_size = s_blockSize;
6868
cfg.log_page_size = s_pageSize;
69-
69+
7070
cfg.hal_read_f = api_spiffs_read;
7171
cfg.hal_write_f = api_spiffs_write;
7272
cfg.hal_erase_f = api_spiffs_erase;
73-
73+
7474
const int maxOpenFiles = 4;
7575
s_spiffsWorkBuf.resize(s_pageSize * 2);
7676
s_spiffsFds.resize(32 * maxOpenFiles);
7777
s_spiffsCache.resize((32 + s_pageSize) * maxOpenFiles);
7878

79-
return SPIFFS_mount(&s_fs, &cfg,
80-
&s_spiffsWorkBuf[0],
79+
return SPIFFS_mount(&s_fs, &cfg,
80+
&s_spiffsWorkBuf[0],
8181
&s_spiffsFds[0], s_spiffsFds.size(),
8282
&s_spiffsCache[0], s_spiffsCache.size(),
8383
NULL);
8484
}
8585

8686
bool spiffsMount(){
87-
if(SPIFFS_mounted(&s_fs))
87+
if(SPIFFS_mounted(&s_fs))
8888
return true;
8989
int res = spiffsTryMount();
9090
return (res == SPIFFS_OK);
@@ -94,7 +94,7 @@ bool spiffsFormat(){
9494
spiffsMount();
9595
SPIFFS_unmount(&s_fs);
9696
int formated = SPIFFS_format(&s_fs);
97-
if(formated != SPIFFS_OK)
97+
if(formated != SPIFFS_OK)
9898
return false;
9999
return (spiffsTryMount() == SPIFFS_OK);
100100
}
@@ -110,13 +110,13 @@ int addFile(char* name, const char* path) {
110110
std::cerr << "error: failed to open " << path << " for reading" << std::endl;
111111
return 1;
112112
}
113-
113+
114114
spiffs_file dst = SPIFFS_open(&s_fs, name, SPIFFS_CREAT | SPIFFS_TRUNC | SPIFFS_RDWR, 0);
115-
115+
116116
fseek(src, 0, SEEK_END);
117117
size_t size = ftell(src);
118118
fseek(src, 0, SEEK_SET);
119-
119+
120120
size_t left = size;
121121
uint8_t data_byte;
122122
while (left > 0){
@@ -133,7 +133,7 @@ int addFile(char* name, const char* path) {
133133
}
134134
left -= 1;
135135
}
136-
136+
137137
SPIFFS_close(&s_fs, dst);
138138
fclose(src);
139139
return 0;
@@ -156,10 +156,10 @@ int addFiles(const char* dirname){
156156
std::cerr << "skipping " << ent->d_name << std::endl;
157157
continue;
158158
}
159-
159+
160160
std::string filepath = "/";
161161
filepath += ent->d_name;
162-
std::cout << ent->d_name << std::endl;
162+
std::cout << filepath << std::endl;
163163
if (addFile((char*)filepath.c_str(), fullpath.c_str()) != 0) {
164164
std::cerr << "error adding file!" << std::endl;
165165
error = true;
@@ -177,14 +177,14 @@ int addFiles(const char* dirname){
177177
void listFiles() {
178178
spiffs_DIR dir;
179179
spiffs_dirent ent;
180-
180+
181181
SPIFFS_opendir(&s_fs, 0, &dir);
182182
spiffs_dirent* it;
183183
while (true) {
184184
it = SPIFFS_readdir(&dir, &ent);
185185
if (!it)
186186
break;
187-
187+
188188
std::cout << it->size << '\t' << it->name << std::endl;
189189
}
190190
SPIFFS_closedir(&dir);
@@ -194,33 +194,33 @@ void listFiles() {
194194

195195
int actionPack() {
196196
s_flashmem.resize(s_imageSize, 0xff);
197-
197+
198198
FILE* fdres = fopen(s_imageName.c_str(), "wb");
199199
if (!fdres) {
200200
std::cerr << "error: failed to open image file" << std::endl;
201201
return 1;
202202
}
203-
203+
204204
spiffsFormat();
205205
int result = addFiles(s_dirName.c_str());
206206
spiffsUnmount();
207-
207+
208208
fwrite(&s_flashmem[0], 4, s_flashmem.size()/4, fdres);
209209
fclose(fdres);
210-
210+
211211
return result;
212212
}
213213

214214

215215
int actionList() {
216216
s_flashmem.resize(s_imageSize, 0xff);
217-
217+
218218
FILE* fdsrc = fopen(s_imageName.c_str(), "rb");
219219
if (!fdsrc) {
220220
std::cerr << "error: failed to open image file" << std::endl;
221221
return 1;
222222
}
223-
223+
224224
fread(&s_flashmem[0], 4, s_flashmem.size()/4, fdsrc);
225225
fclose(fdsrc);
226226
spiffsMount();
@@ -231,23 +231,23 @@ int actionList() {
231231

232232
int actionVisualize() {
233233
s_flashmem.resize(s_imageSize, 0xff);
234-
234+
235235
FILE* fdsrc = fopen(s_imageName.c_str(), "rb");
236236
if (!fdsrc) {
237237
std::cerr << "error: failed to open image file" << std::endl;
238238
return 1;
239239
}
240-
240+
241241
fread(&s_flashmem[0], 4, s_flashmem.size()/4, fdsrc);
242242
fclose(fdsrc);
243-
243+
244244
spiffsMount();
245245
SPIFFS_vis(&s_fs);
246246
uint32_t total, used;
247247
SPIFFS_info(&s_fs, &total, &used);
248248
std::cout << "total: " << total << std::endl << "used: " << used << std::endl;
249249
spiffsUnmount();
250-
250+
251251
return 0;
252252
}
253253

@@ -268,7 +268,7 @@ void processArgs(int argc, const char** argv) {
268268
cmd.xorAdd( args );
269269
cmd.add( outNameArg );
270270
cmd.parse( argc, argv );
271-
271+
272272
if (packArg.isSet()) {
273273
s_dirName = packArg.getValue();
274274
s_action = ACTION_PACK;
@@ -279,28 +279,28 @@ void processArgs(int argc, const char** argv) {
279279
else if (visualizeArg.isSet()) {
280280
s_action = ACTION_VISUALIZE;
281281
}
282-
282+
283283
s_imageName = outNameArg.getValue();
284284
s_imageSize = imageSizeArg.getValue();
285285
s_pageSize = pageSizeArg.getValue();
286286
s_blockSize = blockSizeArg.getValue();
287287
}
288288

289289
int main(int argc, const char * argv[]) {
290-
290+
291291
try {
292292
processArgs(argc, argv);
293293
} catch(...) {
294294
std::cerr << "Invalid arguments" << std::endl;
295295
return 1;
296296
}
297-
297+
298298
switch (s_action) {
299299
case ACTION_PACK: return actionPack();
300300
case ACTION_LIST: return actionList();
301301
case ACTION_VISUALIZE: return actionVisualize();
302302
default: ;
303303
}
304-
304+
305305
return 1;
306306
}

0 commit comments

Comments
 (0)