# change loading path of dynamic shared libraries on MAC OS X
ifdef CONFIG_DARWIN
- install_name_tool -change /opt/local/lib/libgthread-2.0.*.dylib @loader_path/libgthread-2.0.0.dylib $(DIBS_COMMON_DIR)/bin/qemu-img
- install_name_tool -change /opt/local/lib/libglib-2.0.*.dylib @loader_path/libglib-2.0.0.dylib $(DIBS_COMMON_DIR)/bin/qemu-img
- install_name_tool -change /opt/local/lib/libintl.8.dylib @loader_path/libintl.8.dylib $(DIBS_COMMON_DIR)/bin/qemu-img
- install_name_tool -change /opt/local/lib/gcc47/libgcc_s.1.dylib @loader_path/libgcc_s.1.dylib $(DIBS_COMMON_DIR)/bin/qemu-img
- install_name_tool -change /opt/local/lib/libz.1.dylib @loader_path/libz.1.dylib $(DIBS_COMMON_DIR)/bin/qemu-img
- install_name_tool -change /opt/local/lib/libcurl.4.dylib @loader_path/libcurl.4.dylib $(DIBS_COMMON_DIR)/bin/qemu-img
- install_name_tool -change /opt/local/lib/libglib-2.0.*.dylib @loader_path/libglib-2.0.0.dylib $(DIBS_COMMON_DIR)/bin/check-gl
- install_name_tool -change /opt/local/lib/libintl.8.dylib @loader_path/libintl.8.dylib $(DIBS_COMMON_DIR)/bin/check-gl
- install_name_tool -change /opt/local/lib/gcc47/libgcc_s.1.dylib @loader_path/libgcc_s.1.dylib $(DIBS_COMMON_DIR)/bin/check-gl
- install_name_tool -change /opt/local/lib/libglib-2.0.*.dylib @loader_path/libglib-2.0.0.dylib $(DIBS_COMMON_DIR)/bin/check-net
- install_name_tool -change /opt/local/lib/libintl.8.dylib @loader_path/libintl.8.dylib $(DIBS_COMMON_DIR)/bin/check-net
- install_name_tool -change /opt/local/lib/libcurl.4.dylib @loader_path/libcurl.4.dylib $(DIBS_COMMON_DIR)/bin/check-net
-
+ @BIN_ARR=(qemu-img check-gl check-net); \
+ for bin in $${BIN_ARR[@]}; do \
+ LIB_ARR=( $$(otool -L $(DIBS_COMMON_DIR)/bin/$$bin | awk '/\opt\/local\/lib/ { split($$1, lib, "/"); print lib[5]}') ); \
+ for lib in $${LIB_ARR[@]}; do \
+ echo "$$bin: the loading path of $$lib is changed."; \
+ install_name_tool -change /opt/local/lib/$$lib @loader_path/$$lib $(DIBS_COMMON_DIR)/bin/$$bin; \
+ done \
+ done
@for target in $(TARGET_DIRS); do \
case "$$target" in \
i386-softmmu) \
- install_name_tool -change /opt/local/lib/libgthread-2.0.*.dylib @loader_path/libgthread-2.0.0.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
- install_name_tool -change /opt/local/lib/libglib-2.0.*.dylib @loader_path/libglib-2.0.0.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
- install_name_tool -change /opt/local/lib/libintl.8.dylib @loader_path/libintl.8.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
- install_name_tool -change /opt/local/lib/gcc47/libgcc_s.1.dylib @loader_path/libgcc_s.1.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
- install_name_tool -change /opt/local/lib/libz.1.dylib @loader_path/libz.1.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
- install_name_tool -change /opt/local/lib/libncurses.5.dylib @loader_path/libncurses.5.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
- install_name_tool -change /opt/local/lib/libcurl.4.dylib @loader_path/libcurl.4.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
- install_name_tool -change /opt/local/lib/libpixman-1.0.dylib @loader_path/libpixman-1.0.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
- install_name_tool -change /opt/local/lib/libpng16.16.dylib @loader_path/libpng16.dylib $(DIBS_X86_DIR)/bin/emulator-x86; \
- install_name_tool -change /opt/local/Library/Frameworks/QtOpenGL.framework/Versions/5/QtOpenGL @loader_path/QtOpenGL $(DIBS_X86_DIR)/bin/emulator-x86; \
- install_name_tool -change /opt/local/Library/Frameworks/QtWidgets.framework/Versions/5/QtWidgets @loader_path/QtWidgets $(DIBS_X86_DIR)/bin/emulator-x86; \
- install_name_tool -change /opt/local/Library/Frameworks/QtGui.framework/Versions/5/QtGui @loader_path/QtGui $(DIBS_X86_DIR)/bin/emulator-x86; \
- install_name_tool -change /opt/local/Library/Frameworks/QtCore.framework/Versions/5/QtCore @loader_path/QtCore $(DIBS_X86_DIR)/bin/emulator-x86; \
+ BIN_ARR=( emulator-x86 ); \
+ for bin in $${BIN_ARR[@]}; do \
+ LIB_ARR=( $$(otool -L $(DIBS_X86_DIR)/bin/$$bin | awk '/\opt\/local\/lib/ { split($$1, lib, "/"); print lib[5]}') ); \
+ for lib in $${LIB_ARR[@]}; do \
+ echo "$$bin: the loading path of $$lib is changed."; \
+ install_name_tool -change /opt/local/lib/$$lib @loader_path/$$lib $(DIBS_X86_DIR)/bin/$$bin; \
+ done ; \
+ LIB_ARR=( $$(otool -L $(DIBS_X86_DIR)/bin/$$bin | awk '/\opt\/local\/Library/ { split($$1, lib, "/"); print lib[9]}') ); \
+ for lib in $${LIB_ARR[@]}; do \
+ echo "$$bin: the loading path of $$lib is changed."; \
+ install_name_tool -change /opt/local/Library/Frameworks/$$lib.framework/Version/5/$$lib @loader_path/$$lib $(DIBS_X86_DIR)/bin/$$bin; \
+ done \
+ done \
;; \
arm-softmmu) \
;; \