| /* 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 |