1*9880d681SAndroid Build Coastguard Worker /* Compile with: 2*9880d681SAndroid Build Coastguard Worker clang -c -g -arch x86_64h -arch x86_64 -arch i386 fat-test.c 3*9880d681SAndroid Build Coastguard Worker libtool -static -o libfat-test.a fat-test.o 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Worker to generate a dylib instead: 6*9880d681SAndroid Build Coastguard Worker clang -arch ... -arch ... -arch ... -dynamiclib fat-test.o -o fat-test.dylib 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Worker To reduce the size of the fat binary: 9*9880d681SAndroid Build Coastguard Worker lipo -thin i386 -o fat-test.i386.o fat-test.o 10*9880d681SAndroid Build Coastguard Worker lipo -thin x86_64 -o fat-test.x86_64.o fat-test.o 11*9880d681SAndroid Build Coastguard Worker lipo -thin x86_64h -o fat-test.x86_64h.o fat-test.o 12*9880d681SAndroid Build Coastguard Worker 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 13*9880d681SAndroid Build Coastguard Worker */ 14*9880d681SAndroid Build Coastguard Worker #ifdef __x86_64h__ 15*9880d681SAndroid Build Coastguard Worker int x86_64h_var; 16*9880d681SAndroid Build Coastguard Worker #elif defined(__x86_64__) 17*9880d681SAndroid Build Coastguard Worker int x86_64_var; 18*9880d681SAndroid Build Coastguard Worker #elif defined(__i386__) 19*9880d681SAndroid Build Coastguard Worker int i386_var; 20*9880d681SAndroid Build Coastguard Worker #elif defined(__ARM_ARCH_7S__) 21*9880d681SAndroid Build Coastguard Worker int armv7s_var; 22*9880d681SAndroid Build Coastguard Worker #elif defined(__ARM_ARCH_7A__) 23*9880d681SAndroid Build Coastguard Worker int armv7_var; 24*9880d681SAndroid Build Coastguard Worker #elif defined(__ARM64_ARCH_8__) 25*9880d681SAndroid Build Coastguard Worker int arm64_var; 26*9880d681SAndroid Build Coastguard Worker #else 27*9880d681SAndroid Build Coastguard Worker #error "Unknown architecture" 28*9880d681SAndroid Build Coastguard Worker #endif 29