Support for MacOS(clang)
Clang does support openmp but I got the below error when compiling using clang-10: Build Ktrim In file included from ktrim.cpp:18: ./util.h:35:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register unsigned int loaded = 0; ^~~~~~~~~ ./util.h:37:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register CppSERead *p = loadingReads; ^~~~~~~~~ ./util.h:38:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register CppSERead *q = p + num; ^~~~~~~~~ ./util.h:54:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register CppPERead *p = loadingReads; ^~~~~~~~~ ./util.h:55:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register CppPERead *q = p + num; ^~~~~~~~~ ./util.h:56:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register CppPERead *s = p; ^~~~~~~~~ ./util.h:79:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register unsigned int size1 = s->seq1.size(); ^~~~~~~~~ ./util.h:80:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register unsigned int size2 = s->seq2.size(); ^~~~~~~~~ ./util.h:101:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register unsigned int mis=0; ^~~~~~~~~ ./util.h:102:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register unsigned int i, len; ^~~~~~~~~ ./util.h:102:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register unsigned int i, len; ^~~~~~~~~ ./util.h:107:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register unsigned int max_mismatch_dynamic; ^~~~~~~~~ ./util.h:135:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register unsigned int mis1=0, mis2=0; ^~~~~~~~~ ./util.h:135:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register unsigned int mis1=0, mis2=0; ^~~~~~~~~ ./util.h:136:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register unsigned int i, len; ^~~~~~~~~ ./util.h:136:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register unsigned int i, len; ^~~~~~~~~ ./util.h:141:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register unsigned int max_mismatch_dynamic; ^~~~~~~~~ ./util.h:153:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register const char * p = s1.c_str(); ^~~~~~~~~ In file included from ktrim.cpp:19: ./param_handler.h:182:4: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register unsigned int i = 0; ^~~~~~~~~ In file included from ktrim.cpp:20: ./pe_handler.h:22:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register int i, j; ^~~~~~~~~ ./pe_handler.h:22:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register int i, j; ^~~~~~~~~ ./pe_handler.h:23:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register unsigned int last_seed; ^~~~~~~~~ ./pe_handler.h:180:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register unsigned int line = 0; ^~~~~~~~~ ./pe_handler.h:337:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register unsigned int line = 0; ^~~~~~~~~ ./pe_handler.h:349:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register int i, j; ^~~~~~~~~ ./pe_handler.h:349:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register int i, j; ^~~~~~~~~ ./pe_handler.h:350:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register unsigned int last_seed; ^~~~~~~~~ In file included from ktrim.cpp:21: ./se_handler.h:21:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register int i, j; ^~~~~~~~~ ./se_handler.h:21:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register int i, j; ^~~~~~~~~ ./se_handler.h:22:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register unsigned int last_seed; ^~~~~~~~~ ./se_handler.h:140:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register unsigned int line = 0; ^~~~~~~~~ ./se_handler.h:275:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register unsigned int line = 0; ^~~~~~~~~ ./se_handler.h:284:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register int i, j; ^~~~~~~~~ ./se_handler.h:284:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register int i, j; ^~~~~~~~~ ./se_handler.h:285:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register unsigned int last_seed; ^~~~~~~~~ 35 warnings generated. ld: unknown option: -platform_version clang-10: error: linker command failed with exit code 1 (use -v to see invocation)
after installing gcc with brew using: brew install gcc, you can actually compile it using: make -j 8 (change the g++ to /usr/local/bin/g++-10 in makefile yourself)