set -ex VERSION=11 OUT=./out LOGIC=2 mkdir -p $OUT if [[ $LOGIC -eq 0 ]] then clang-format -i -style=llvm *.cc elif [[ $LOGIC -eq 1 ]] then # full poc flow echo "to be continue" # remove imports # remove mod init # remove symtab dysymtab # fix link edit section elif [[ $LOGIC -eq 2 ]] then # remove imports test # libc to test reexport custom lib clang++ -mmacosx-version-min=$VERSION -o $OUT/libc.dylib -shared c.cc # create our dummy lib first clang++ -mmacosx-version-min=$VERSION -o $OUT/libb.dylib -shared -Wl,-reexport_library out/libc.dylib dummy.cc # build a references libb clang++ -mmacosx-version-min=$VERSION -o $OUT/a -L"./out" -lb a.cc # extract symbols from a ../../macho-go/bin/ios-wrapper remove-imports $OUT/a -o $OUT/a > $OUT/b.h # build libb with symbols extracted from a clang++ -mmacosx-version-min=$VERSION -o $OUT/libb.dylib -shared -Wl,-reexport_library out/libc.dylib b.cc else # dummy test build clang++ -mmacosx-version-min=$VERSION -o $OUT/libc.dylib -shared c.cc clang++ -mmacosx-version-min=$VERSION -o $OUT/libb.dylib -shared -Wl,-reexport_library out/libc.dylib b.cc clang++ -mmacosx-version-min=$VERSION -o $OUT/a -L"./out" -lb a.cc fi