| /* Compile with: | |
| clang -c -g -arch x86_64h -arch x86_64 -arch i386 fat-test.c | |
| libtool -static -o libfat-test.a fat-test.o | |
| to generate a dylib instead: | |
| clang -arch ... -arch ... -arch ... -dynamiclib fat-test.o -o fat-test.dylib | |
| To reduce the size of the fat binary: | |
| lipo -thin i386 -o fat-test.i386.o fat-test.o | |
| lipo -thin x86_64 -o fat-test.x86_64.o fat-test.o | |
| lipo -thin x86_64h -o fat-test.x86_64h.o fat-test.o | |
| lipo -create -arch x86_64h fat-test.x86_64h.o -arch x86_64 fat-test.x86_64.o -arch i386 fat-test.i386.o -o fat-test.o -segalign i386 8 -segalign x86_64 8 -segalign x86_64h 8 | |
| */ | |
| #ifdef __x86_64h__ | |
| int x86_64h_var; | |
| #elif defined(__x86_64__) | |
| int x86_64_var; | |
| #elif defined(__i386__) | |
| int i386_var; | |
| #elif defined(__ARM_ARCH_7S__) | |
| int armv7s_var; | |
| #elif defined(__ARM_ARCH_7A__) | |
| int armv7_var; | |
| #elif defined(__ARM64_ARCH_8__) | |
| int arm64_var; | |
| #else | |
| #error "Unknown architecture" | |
| #endif |