@@ -19,6 +19,7 @@ cd $DIR/tensorflow
1919# Clean up
2020git clean -fdx
2121git reset --hard
22+
2223patch -p1 < $DIR /tf_base.patch
2324if [ $? != 0 ]; then
2425 echo -e " FATAL: tf_base.patch FAILED!"
3233
3334# Build the Tensorflow
3435cd tensorflow/contrib/cmake
35- cmake . -Dtensorflow_ENABLE_GRPC_SUPPORT=OFF -Dtensorflow_ENABLE_SSL_SUPPORT=OFF -Dtensorflow_BUILD_PYTHON_BINDINGS=OFF \
36+ cmake . -Dtensorflow_ENABLE_GRPC_SUPPORT=OFF -Dtensorflow_ENABLE_SSL_SUPPORT=OFF -Dtensorflow_BUILD_PYTHON_BINDINGS=OFF -Dsystemlib_ABSEIL_CPP=OFF \
3637 -Dtensorflow_ENABLE_POSITION_INDEPENDENT_CODE=ON -Dtensorflow_BUILD_SHARED_LIB=ON -Dtensorflow_BUILD_CC_EXAMPLE=OFF -DCMAKE_BUILD_TYPE=Release \
3738 -DCMAKE_INSTALL_PREFIX=${DIR} /tensorflow/install || exit 1
39+ make -j8 abseil_cpp || exit 1
3840make -j8 tensorflow install || exit 1
3941
4042# Copy headers
43+ mkdir -p ${DIR} /tensorflow/install/include/absl || exit 1
44+ find ${DIR} /tensorflow/tensorflow/contrib/cmake/abseil_cpp/src/abseil_cpp/absl -name ' *.h' | cpio -pdm ${DIR} /tensorflow/install/include/absl/ || exit 1
45+ cp ${DIR} /tensorflow/tensorflow/contrib/cmake/protobuf/src/protobuf/src/google/protobuf/port_def.inc ${DIR} /tensorflow/install/include/google/protobuf/ || exit 1
46+ cp ${DIR} /tensorflow/tensorflow/contrib/cmake/protobuf/src/protobuf/src/google/protobuf/port_undef.inc ${DIR} /tensorflow/install/include/google/protobuf/ || exit 1
4147cd ${DIR} /tensorflow/install/include || exit 1
4248cp -rf * $DIR /packaging/headers/ || exit 1
4349
4450# Copy/prepare the final binaries
45- cd $DIR /tensorflow
51+ mkdir -p $DIR /tensorflow/absl_fix || exit 1
52+ rm -rf $DIR /tensorflow/absl_fix/* .o
53+ cd $DIR /tensorflow/absl_fix || exit 1
54+ ar -x $DIR /tensorflow/tensorflow/contrib/cmake/abseil_cpp/src/abseil_cpp-build/absl/base/libabsl_base.a || exit 1
55+ ar -x $DIR /tensorflow/tensorflow/contrib/cmake/abseil_cpp/src/abseil_cpp-build/absl/base/libabsl_spinlock_wait.a || exit 1
56+ ar -x $DIR /tensorflow/tensorflow/contrib/cmake/abseil_cpp/src/abseil_cpp-build/absl/base/libabsl_dynamic_annotations.a || exit 1
57+ ar -x $DIR /tensorflow/tensorflow/contrib/cmake/abseil_cpp/src/abseil_cpp-build/absl/base/libabsl_malloc_internal.a || exit 1
58+ ar -x $DIR /tensorflow/tensorflow/contrib/cmake/abseil_cpp/src/abseil_cpp-build/absl/base/libabsl_throw_delegate.a || exit 1
59+ ar -x $DIR /tensorflow/tensorflow/contrib/cmake/abseil_cpp/src/abseil_cpp-build/absl/numeric/libabsl_int128.a || exit 1
60+ ar -x $DIR /tensorflow/tensorflow/contrib/cmake/abseil_cpp/src/abseil_cpp-build/absl/strings/libabsl_strings.a || exit 1
61+ ar -x $DIR /tensorflow/tensorflow/contrib/cmake/abseil_cpp/src/abseil_cpp-build/absl/strings/libabsl_strings_internal.a || exit 1
62+ ar -x $DIR /tensorflow/tensorflow/contrib/cmake/abseil_cpp/src/abseil_cpp-build/absl/strings/libabsl_str_format_internal.a || exit 1
63+ ar -x $DIR /tensorflow/tensorflow/contrib/cmake/abseil_cpp/src/abseil_cpp-build/absl/hash/libabsl_hash.a || exit 1
64+ ar -x $DIR /tensorflow/tensorflow/contrib/cmake/abseil_cpp/src/abseil_cpp-build/absl/container/libabsl_hashtablez_sampler.a || exit 1
65+ ar -x $DIR /tensorflow/tensorflow/contrib/cmake/abseil_cpp/src/abseil_cpp-build/absl/synchronization/libabsl_synchronization.a || exit 1
66+ ar -x $DIR /tensorflow/tensorflow/contrib/cmake/abseil_cpp/src/abseil_cpp-build/absl/debugging/libabsl_stacktrace.a || exit 1
67+ ar -x $DIR /tensorflow/tensorflow/contrib/cmake/abseil_cpp/src/abseil_cpp-build/absl/debugging/libabsl_symbolize.a || exit 1
68+ ar -x $DIR /tensorflow/tensorflow/contrib/cmake/abseil_cpp/src/abseil_cpp-build/absl/debugging/libabsl_debugging_internal.a || exit 1
69+ ar -x $DIR /tensorflow/tensorflow/contrib/cmake/abseil_cpp/src/abseil_cpp-build/absl/debugging/libabsl_demangle_internal.a || exit 1
70+ ar -x $DIR /tensorflow/tensorflow/contrib/cmake/abseil_cpp/src/abseil_cpp-build/absl/time/libabsl_time.a || exit 1
71+ ar -x $DIR /tensorflow/tensorflow/contrib/cmake/abseil_cpp/src/abseil_cpp-build/absl/time/libabsl_time_zone.a || exit 1
72+ ar -x $DIR /tensorflow/tensorflow/contrib/cmake/abseil_cpp/src/abseil_cpp-build/absl/hash/libabsl_city.a || exit 1
73+ ar -x $DIR /tensorflow/tensorflow/contrib/cmake/abseil_cpp/src/abseil_cpp-build/absl/types/libabsl_bad_optional_access.a || exit 1
74+ ar -r libabsl.a * .o || exit 1
75+ cp libabsl.a $DIR /packaging/libs/libabsl.a || exit 1
76+
77+ mkdir -p $DIR /tensorflow/fft2d_fix || exit 1
78+ rm -rf $DIR /tensorflow/fft2d_fix/* .o
79+ cd $DIR /tensorflow/fft2d_fix || exit 1
80+ ar -x $DIR /tensorflow/tensorflow/contrib/cmake/fft2d/src/fft2d/libfft2d.a || exit 1
81+ cp $DIR /tensorflow/tensorflow/contrib/cmake/libtensorflow.a $DIR /tensorflow/fft2d_fix/ || exit 1
82+ ar -r $DIR /tensorflow/fft2d_fix/libtensorflow.a * .o || exit 1
83+
84+ cd $DIR /tensorflow || exit 1
4685cp tensorflow/contrib/cmake/protobuf/src/protobuf/libprotobuf.a $DIR /packaging/libs/libprotobuf-tf-static.a || exit 1
4786g++ -shared -o $DIR /packaging/libs/libprotobuf-tf.so -Wl,--whole-archive -l:libprotobuf-tf-static.a -L$DIR /packaging/libs/ -Wl,--no-whole-archive || exit 1
4887cp tensorflow/contrib/cmake/nsync/src/nsync/libnsync.a $DIR /packaging/libs/libnsync-tf.a || exit 1
49- ar -x tensorflow/contrib/cmake/fft2d/src/fft2d/libfft2d.a
50- ar -r tensorflow/contrib/cmake/libtensorflow.a * .o || exit 1
51- cp tensorflow/contrib/cmake/libtensorflow.a $DIR /packaging/libs/libtensorflow-core-static.a || exit 1
52- g++ -shared -o $DIR /packaging/libs/libtensorflow-core.so -Wl,--whole-archive -l:libtensorflow-core-static.a -L$DIR /packaging/libs/ -Wl,--no-whole-archive || exit 1
88+ cp tensorflow/contrib/cmake/nsync/src/nsync/libnsync_cpp.a $DIR /packaging/libs/libnsync-cpp-tf.a || exit 1
89+ cp $DIR /tensorflow/fft2d_fix/libtensorflow.a $DIR /packaging/libs/libtensorflow-core-static.a || exit 1
90+ g++ -shared -o $DIR /packaging/libs/libtensorflow-core.so -Wl,--whole-archive -l:libtensorflow-core-static.a -L$DIR /packaging/libs/ -Wl,--no-whole-archive -Wl,--allow-multiple-definition || exit 1
5391cp tensorflow/contrib/cmake/libtf_protos_cc.a $DIR /packaging/libs/libtf_protos_cc-static.a || exit 1
5492g++ -shared -o $DIR /packaging/libs/libtf_protos_cc.so -Wl,--whole-archive -l:libtf_protos_cc-static.a -L$DIR /packaging/libs/ -Wl,--no-whole-archive || exit 1
5593
0 commit comments