@@ -63,16 +63,28 @@ function get_pkg_config_cflags {
63
63
echo " $PKGCONFIG "
64
64
}
65
65
66
+ function cc_syntax {
67
+ ${CC} " ${CC_OPT[@]} " " $@ "
68
+ }
69
+
70
+ function cxx_syntax {
71
+ ${CXX} " ${CXX_OPT[@]} " " $@ "
72
+ }
73
+
74
+ function cppcheck_run {
75
+ " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " " $@ "
76
+ }
77
+
66
78
# posix.c
67
79
function posix_fn {
68
80
echo " POSIX assumed to be present, checking syntax with ${CC} now."
69
- ${CC} " ${CC_OPT[@]} " ${DIR} posix.c
81
+ cc_syntax ${DIR} posix.c
70
82
}
71
83
72
84
# gnu.c
73
85
function gnu_fn {
74
86
echo " GNU assumed to be present, checking syntax with ${CC} now."
75
- ${CC} " ${CC_OPT[@]} " ${DIR} gnu.c
87
+ cc_syntax ${DIR} gnu.c
76
88
}
77
89
78
90
# qt.cpp
@@ -92,7 +104,7 @@ function qt_fn {
92
104
exit_if_strict
93
105
else
94
106
echo " Qt found and working, checking syntax with ${CXX} now."
95
- ${CXX} " ${CXX_OPT[@]} " ${QTCONFIG} ${DIR} qt.cpp
107
+ cxx_syntax ${QTCONFIG} ${DIR} qt.cpp
96
108
fi
97
109
else
98
110
echo " Qt not present, skipping syntax check with ${CXX} ."
@@ -110,19 +122,19 @@ function bsd_fn {
110
122
# std.c
111
123
function std_c_fn {
112
124
echo " C standard library assumed to be present, checking syntax with ${CC} now."
113
- ${CC} " ${CC_OPT[@]} " " ${DIR} " std.c
125
+ cc_syntax " ${DIR} " std.c
114
126
}
115
127
116
128
# std.cpp
117
129
function std_cpp_fn {
118
130
echo " C++ standard library assumed to be present, checking syntax with ${CXX} now."
119
- ${CXX} " ${CXX_OPT[@]} " " ${DIR} " std.cpp
131
+ cxx_syntax " ${DIR} " std.cpp
120
132
}
121
133
122
134
# windows.cpp
123
135
function windows_fn {
124
136
# TODO: Syntax check via g++ does not work because it can not find a valid windows.h
125
- # ${CXX} "${CXX_OPT[@]}" ${DIR}windows.cpp
137
+ # cxx_syntax ${DIR}windows.cpp
126
138
true
127
139
}
128
140
@@ -153,7 +165,7 @@ function wxwidgets_fn {
153
165
exit_if_strict
154
166
else
155
167
echo " wxWidgets found, checking syntax with ${CXX} now."
156
- ${CXX} " ${CXX_OPT[@]} " ${WXCONFIG} -Wno-deprecated-declarations " ${DIR} " wxwidgets.cpp
168
+ cxx_syntax ${WXCONFIG} -Wno-deprecated-declarations " ${DIR} " wxwidgets.cpp
157
169
fi
158
170
fi
159
171
}
@@ -172,14 +184,14 @@ function gtk_fn {
172
184
GTKCHECK_RETURNCODE=$?
173
185
set -e
174
186
if [ $GTKCHECK_RETURNCODE -ne 0 ]; then
175
- echo " GTK+ not completely present or not working, skipping syntax check with ${CXX } ."
187
+ echo " GTK+ not completely present or not working, skipping syntax check with ${CC } ."
176
188
exit_if_strict
177
189
else
178
- echo " GTK+ found and working, checking syntax with ${CXX } now."
179
- ${CC} " ${CC_OPT[@]} " ${GTKCONFIG} " ${DIR} " gtk.c
190
+ echo " GTK+ found and working, checking syntax with ${CC } now."
191
+ cc_syntax ${GTKCONFIG} " ${DIR} " gtk.c
180
192
fi
181
193
else
182
- echo " GTK+ not present, skipping syntax check with ${CXX } ."
194
+ echo " GTK+ not present, skipping syntax check with ${CC } ."
183
195
exit_if_strict
184
196
fi
185
197
fi
@@ -189,15 +201,15 @@ function gtk_fn {
189
201
function boost_fn {
190
202
# TODO: get rid of the error enabling/disabling?
191
203
set +e
192
- echo -e " #include <boost/config.hpp>" | ${CXX} " ${CXX_OPT[@]} " -x c++ -
204
+ echo -e " #include <boost/config.hpp>" | ${CXX} " ${CXX_OPT[@]} " -x c++ -
193
205
BOOSTCHECK_RETURNCODE=$?
194
206
set -e
195
207
if [ ${BOOSTCHECK_RETURNCODE} -ne 0 ]; then
196
208
echo " Boost not completely present or not working, skipping syntax check with ${CXX} ."
197
209
exit_if_strict
198
210
else
199
211
echo " Boost found and working, checking syntax with ${CXX} now."
200
- ${CXX} " ${CXX_OPT[@]} " " ${DIR} " boost.cpp
212
+ cxx_syntax " ${DIR} " boost.cpp
201
213
fi
202
214
}
203
215
@@ -216,7 +228,7 @@ function sqlite3_fn {
216
228
exit_if_strict
217
229
else
218
230
echo " SQLite3 found and working, checking syntax with ${CC} now."
219
- ${CC} " ${CC_OPT[@]} " ${SQLITE3CONFIG} " ${DIR} " sqlite3.c
231
+ cc_syntax ${SQLITE3CONFIG} " ${DIR} " sqlite3.c
220
232
fi
221
233
else
222
234
echo " SQLite3 not present, skipping syntax check with ${CC} ."
@@ -230,7 +242,7 @@ function openmp_fn {
230
242
# MacOS compiler has no OpenMP by default
231
243
if ! command -v sw_vers; then
232
244
echo " OpenMP assumed to be present, checking syntax with ${CC} now."
233
- ${CC} " ${CC_OPT[@]} " -fopenmp ${DIR} openmp.c
245
+ cc_syntax -fopenmp ${DIR} openmp.c
234
246
fi
235
247
}
236
248
@@ -249,7 +261,7 @@ function python_fn {
249
261
exit_if_strict
250
262
else
251
263
echo " Python 3 found and working, checking syntax with ${CC} now."
252
- ${CC} " ${CC_OPT[@]} " ${PYTHON3CONFIG} " ${DIR} " python.c
264
+ cc_syntax ${PYTHON3CONFIG} " ${DIR} " python.c
253
265
fi
254
266
else
255
267
echo " Python 3 not present, skipping syntax check with ${CC} ."
@@ -261,7 +273,10 @@ function python_fn {
261
273
# lua.c
262
274
function lua_fn {
263
275
if [ $HAS_PKG_CONFIG -eq 1 ]; then
264
- LUACONFIG=$( get_pkg_config_cflags lua-5.3)
276
+ LUACONFIG=$( get_pkg_config_cflags lua)
277
+ if [ -z " $LUACONFIG " ]; then
278
+ LUACONFIG=$( get_pkg_config_cflags lua-5.3)
279
+ fi
265
280
if [ -n " $LUACONFIG " ]; then
266
281
# TODO: get rid of the error enabling/disabling?
267
282
set +e
@@ -273,7 +288,7 @@ function lua_fn {
273
288
exit_if_strict
274
289
else
275
290
echo " Lua found and working, checking syntax with ${CC} now."
276
- ${CC} " ${CC_OPT[@]} " ${LUACONFIG} " ${DIR} " lua.c
291
+ cc_syntax ${LUACONFIG} " ${DIR} " lua.c
277
292
fi
278
293
else
279
294
echo " Lua not present, skipping syntax check with ${CC} ."
@@ -297,7 +312,7 @@ function libcurl_fn {
297
312
exit_if_strict
298
313
else
299
314
echo " libcurl found and working, checking syntax with ${CC} now."
300
- ${CC} " ${CC_OPT[@]} " ${LIBCURLCONFIG} " ${DIR} " libcurl.c
315
+ cc_syntax ${LIBCURLCONFIG} " ${DIR} " libcurl.c
301
316
fi
302
317
else
303
318
echo " libcurl not present, skipping syntax check with ${CC} ."
@@ -321,7 +336,7 @@ function cairo_fn {
321
336
exit_if_strict
322
337
else
323
338
echo " cairo found and working, checking syntax with ${CC} now."
324
- ${CC} " ${CC_OPT[@]} " ${CAIROCONFIG} " ${DIR} " cairo.c
339
+ cc_syntax ${CAIROCONFIG} " ${DIR} " cairo.c
325
340
fi
326
341
else
327
342
echo " cairo not present, skipping syntax check with ${CC} ."
@@ -354,15 +369,15 @@ function kde_fn {
354
369
else
355
370
# TODO: get rid of the error enabling/disabling?
356
371
set +e
357
- echo -e " #include <KDE/KGlobal>\n" | ${CXX} " ${CXX_OPT[@]} " -I ${KDECONFIG} ${KDEQTCONFIG} -x c++ -
372
+ echo -e " #include <KDE/KGlobal>\n" | ${CXX} " ${CXX_OPT[@]} " -isystem ${KDECONFIG} ${KDEQTCONFIG} -x c++ -
358
373
KDECHECK_RETURNCODE=$?
359
374
set -e
360
375
if [ $KDECHECK_RETURNCODE -ne 0 ]; then
361
376
echo " KDE headers not completely present or not working, skipping syntax check with ${CXX} ."
362
377
exit_if_strict
363
378
else
364
379
echo " KDE found, checking syntax with ${CXX} now."
365
- ${CXX} " ${CXX_OPT[@]} " -I ${KDECONFIG} ${KDEQTCONFIG} " ${DIR} " kde.cpp
380
+ cxx_syntax -isystem ${KDECONFIG} ${KDEQTCONFIG} " ${DIR} " kde.cpp
366
381
fi
367
382
fi
368
383
fi
@@ -383,7 +398,7 @@ function libsigcpp_fn {
383
398
exit_if_strict
384
399
else
385
400
echo " libsigc++ found and working, checking syntax with ${CXX} now."
386
- ${CXX} " ${CXX_OPT[@]} " ${LIBSIGCPPCONFIG} " ${DIR} " libsigc++.cpp
401
+ cxx_syntax ${LIBSIGCPPCONFIG} " ${DIR} " libsigc++.cpp
387
402
fi
388
403
else
389
404
echo " libsigc++ not present, skipping syntax check with ${CXX} ."
@@ -407,7 +422,7 @@ function openssl_fn {
407
422
exit_if_strict
408
423
else
409
424
echo " OpenSSL found and working, checking syntax with ${CC} now."
410
- ${CC} " ${CC_OPT[@]} " ${OPENSSLCONFIG} " ${DIR} " openssl.c
425
+ cc_syntax ${OPENSSLCONFIG} " ${DIR} " openssl.c
411
426
fi
412
427
else
413
428
echo " OpenSSL not present, skipping syntax check with ${CC} ."
@@ -431,7 +446,7 @@ function opencv2_fn {
431
446
exit_if_strict
432
447
else
433
448
echo " OpenCV found and working, checking syntax with ${CXX} now."
434
- ${CXX} " ${CXX_OPT[@]} " ${OPENCVCONFIG} " ${DIR} " opencv2.cpp
449
+ cxx_syntax ${OPENCVCONFIG} " ${DIR} " opencv2.cpp
435
450
fi
436
451
else
437
452
echo " OpenCV not present, skipping syntax check with ${CXX} ."
@@ -448,15 +463,15 @@ function cppunit_fn {
448
463
exit_if_strict
449
464
else
450
465
echo " cppunit found, checking syntax with ${CXX} now."
451
- ${CXX} " ${CXX_OPT[@]} " -Wno-deprecated-declarations " ${DIR} " cppunit.cpp
466
+ cxx_syntax -Wno-deprecated-declarations " ${DIR} " cppunit.cpp
452
467
fi
453
468
fi
454
469
}
455
470
456
471
# emscripten.cpp
457
472
function emscripten_fn {
458
473
# TODO: Syntax check via g++ does not work because it can not find a valid emscripten.h
459
- # ${CXX} "${CXX_OPT[@]}" ${DIR}emscripten.cpp
474
+ # cxx_syntax ${DIR}emscripten.cpp
460
475
true
461
476
}
462
477
@@ -472,109 +487,109 @@ function check_file {
472
487
case $f in
473
488
boost.cpp)
474
489
boost_fn
475
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " --library=" $lib " " ${DIR} " " $f "
490
+ cppcheck_run --library=" $lib " " ${DIR} " " $f "
476
491
;;
477
492
bsd.c)
478
493
bsd_fn
479
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " --library=" $lib " " ${DIR} " " $f "
494
+ cppcheck_run --library=" $lib " " ${DIR} " " $f "
480
495
;;
481
496
cairo.c)
482
497
cairo_fn
483
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " --library=" $lib " " ${DIR} " " $f "
498
+ cppcheck_run --library=" $lib " " ${DIR} " " $f "
484
499
;;
485
500
cppunit.cpp)
486
501
cppunit_fn
487
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " --library=" $lib " " ${DIR} " " $f "
502
+ cppcheck_run --library=" $lib " " ${DIR} " " $f "
488
503
;;
489
504
emscripten.cpp)
490
505
emscripten_fn
491
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " --library=" $lib " " ${DIR} " " $f "
506
+ cppcheck_run --library=" $lib " " ${DIR} " " $f "
492
507
;;
493
508
gnu.c)
494
509
gnu_fn
495
510
# TODO: posix needs to specified first or it has a different mmap() config
496
511
# TODO: get rid of posix dependency
497
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " --library=posix," $lib " " ${DIR} " gnu.c
512
+ cppcheck_run --library=posix," $lib " " ${DIR} " gnu.c
498
513
;;
499
514
googletest.cpp)
500
515
googletest_fn
501
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " --library=" $lib " " ${DIR} " " $f "
516
+ cppcheck_run --library=" $lib " " ${DIR} " " $f "
502
517
;;
503
518
gtk.c)
504
519
gtk_fn
505
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " --library=" $lib " " ${DIR} " " $f "
520
+ cppcheck_run --library=" $lib " " ${DIR} " " $f "
506
521
;;
507
522
kde.cpp)
508
523
# TODO: "kde-4config" is no longer commonly available in recent distros
509
524
# kde_fn
510
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " --library=" $lib " --library=qt " ${DIR} " " $f "
525
+ cppcheck_run --library=" $lib " --library=qt " ${DIR} " " $f "
511
526
;;
512
527
libcurl.c)
513
528
libcurl_fn
514
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " --library=" $lib " " ${DIR} " " $f "
529
+ cppcheck_run --library=" $lib " " ${DIR} " " $f "
515
530
;;
516
531
libsigc++.cpp)
517
532
libsigcpp_fn
518
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " --library=" $lib " " ${DIR} " " $f "
533
+ cppcheck_run --library=" $lib " " ${DIR} " " $f "
519
534
;;
520
535
lua.c)
521
536
lua_fn
522
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " --library=" $lib " " ${DIR} " " $f "
537
+ cppcheck_run --library=" $lib " " ${DIR} " " $f "
523
538
;;
524
539
mfc.cpp)
525
540
mfc_fn
526
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " --platform=win64 --library=" $lib " " ${DIR} " " $f "
541
+ cppcheck_run --platform=win64 --library=" $lib " " ${DIR} " " $f "
527
542
;;
528
543
opencv2.cpp)
529
544
# TODO: "opencv.pc" is not commonly available in distros
530
545
# opencv2_fn
531
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " --library=" $lib " " ${DIR} " " $f "
546
+ cppcheck_run --library=" $lib " " ${DIR} " " $f "
532
547
;;
533
548
openmp.c)
534
549
openmp_fn
535
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " --library=" $lib " " ${DIR} " " $f "
550
+ cppcheck_run --library=" $lib " " ${DIR} " " $f "
536
551
;;
537
552
openssl.c)
538
553
openssl_fn
539
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " --library=" $lib " " ${DIR} " " $f "
554
+ cppcheck_run --library=" $lib " " ${DIR} " " $f "
540
555
;;
541
556
posix.c)
542
557
posix_fn
543
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " --library=" $lib " " ${DIR} " " $f "
558
+ cppcheck_run --library=" $lib " " ${DIR} " " $f "
544
559
;;
545
560
python.c)
546
561
python_fn
547
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " --library=" $lib " " ${DIR} " " $f "
562
+ cppcheck_run --library=" $lib " " ${DIR} " " $f "
548
563
;;
549
564
qt.cpp)
550
565
qt_fn
551
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " --library=" $lib " " ${DIR} " " $f "
566
+ cppcheck_run --library=" $lib " " ${DIR} " " $f "
552
567
;;
553
568
selinux.c)
554
569
selinux_fn
555
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " --library=" $lib " " ${DIR} " " $f "
570
+ cppcheck_run --library=" $lib " " ${DIR} " " $f "
556
571
;;
557
572
sqlite3.c)
558
573
sqlite3_fn
559
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " --library=" $lib " " ${DIR} " " $f "
574
+ cppcheck_run --library=" $lib " " ${DIR} " " $f "
560
575
;;
561
576
std.c)
562
577
std_c_fn
563
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " " ${DIR} " " $f "
578
+ cppcheck_run " ${DIR} " " $f "
564
579
;;
565
580
std.cpp)
566
581
std_cpp_fn
567
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " " ${DIR} " " $f "
582
+ cppcheck_run " ${DIR} " " $f "
568
583
;;
569
584
windows.cpp)
570
585
windows_fn
571
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " --platform=win32A --library=" $lib " " ${DIR} " " $f "
572
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " --platform=win32W --library=" $lib " " ${DIR} " " $f "
573
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " --platform=win64 --library=" $lib " " ${DIR} " " $f "
586
+ cppcheck_run --platform=win32A --library=" $lib " " ${DIR} " " $f "
587
+ cppcheck_run --platform=win32W --library=" $lib " " ${DIR} " " $f "
588
+ cppcheck_run --platform=win64 --library=" $lib " " ${DIR} " " $f "
574
589
;;
575
590
wxwidgets.cpp)
576
591
wxwidgets_fn
577
- " ${CPPCHECK} " " ${CPPCHECK_OPT[@]} " --library=" $lib " " ${DIR} " " $f "
592
+ cppcheck_run --library=" $lib " " ${DIR} " " $f "
578
593
;;
579
594
* )
580
595
echo " Unhandled file $f "
0 commit comments