From: SeokYeon Hwang Date: Thu, 9 Jun 2016 08:36:22 +0000 (+0900) Subject: package: use rpath based library loading for Linux X-Git-Tag: Tizen_Studio_1.3_Release_p2.3.2~38^2~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=55958bd3b05e22fe1389d52c103b81216bf9a73e;p=sdk%2Femulator%2Fqemu.git package: use rpath based library loading for Linux On Linux, now, we use rpath based library loading. Some unnecessary dependency is detached from qt5_msgbox. Change-Id: I43c9ed9f84b97c52240402728f46ff51bf12f78a Signed-off-by: SeokYeon Hwang --- diff --git a/package/build.macos b/package/build.macos index 1968f312ce..254e36274e 100755 --- a/package/build.macos +++ b/package/build.macos @@ -24,12 +24,6 @@ build() # install install() { - # add @rpath into binaries - for file in $(find "$SRCDIR/tizen/emulator/bin" -type f -exec file -F ' ' {} \; | grep "Mach-O" | grep "executable" | awk '{print $1}') - do - install_name_tool -add_rpath "@executable_path" "$file" - done - . $SRCDIR/package/build.common install_common } diff --git a/tizen/emulator_configure.sh b/tizen/emulator_configure.sh index b6a5df03ec..bb9e2d86cc 100755 --- a/tizen/emulator_configure.sh +++ b/tizen/emulator_configure.sh @@ -158,6 +158,7 @@ case $targetos in Linux*) CONFIGURE_APPEND=" --extra-ldflags=-rdynamic + --extra-ldflags=-Wl,-rpath,'\$\$ORIGIN' --audio-drv-list=alsa --enable-sdl --enable-kvm @@ -196,6 +197,7 @@ CONFIGURE_APPEND=" --extra-cflags=-mmacosx-version-min=10.7 --extra-cflags=-Wno-error=deprecated-declarations --extra-ldflags=-lstdc++ + --extra-ldflags=-Wl,-rpath,'@executable_path' --audio-drv-list=coreaudio --enable-cocoa --enable-hax diff --git a/tizen/src/scripts/emulator.cmd b/tizen/src/scripts/emulator.cmd index e950bc5222..5261ac4e12 100644 --- a/tizen/src/scripts/emulator.cmd +++ b/tizen/src/scripts/emulator.cmd @@ -5,7 +5,9 @@ SETLOCAL SET EMULATOR_BIN_PATH=%~dp0 rem set environment variables +rem for SDL display SET SDL_STDIO_REDIRECT=0 +rem for VIGS SET VIGS_SYNC_READ_PIXELS=1 set WITH_GDB="no" @@ -14,8 +16,6 @@ IF "%1"=="--with-gdb" ( SHIFT ) -rem Workaround for windows audio problem -set QEMU_AUDIO_DRV=none rem run emulator IF %WITH_GDB%=="yes" ( gdb --args "%EMULATOR_BIN_PATH%\emulator-x86_64" %* diff --git a/tizen/src/scripts/emulator.sh b/tizen/src/scripts/emulator.sh index 0d752c89f4..0e791f7f52 100755 --- a/tizen/src/scripts/emulator.sh +++ b/tizen/src/scripts/emulator.sh @@ -5,10 +5,11 @@ if [ "$(uname | cut -c 1-5)" = "Linux" ]; then SCRIPT_DIR=$(dirname "$(readlink -f "$0")") EMULATOR_INSTALLED_PATH=$(readlink -f "$SCRIPT_DIR/..") EMULATOR_BIN_PATH=$EMULATOR_INSTALLED_PATH/bin -EMULATOR_TOOL_PATH=$EMULATOR_INSTALLED_PATH/../../../../tools/emulator # set env variables for linux -export LD_LIBRARY_PATH="$EMULATOR_BIN_PATH":"$EMULATOR_TOOL_PATH/remote/lib": +# LD_LIBRARY_PATH is not mandatory anymore, but we leave it for sure. +export LD_LIBRARY_PATH="$EMULATOR_BIN_PATH": + elif [ "$(uname | cut -c 1-6)" = "Darwin" ]; then # under darwin EMULATOR_INSTALLED_PATH=$(cd "$(dirname "$0")"; cd ..; pwd) @@ -16,16 +17,20 @@ EMULATOR_BIN_PATH=$EMULATOR_INSTALLED_PATH/bin # set env variables for darwin # nothing now... + elif [ "$(uname | cut -c 1-5)" = "MINGW" ]; then # under mingw SCRIPT_DIR=$(dirname "$(readlink -f "$0")") EMULATOR_INSTALLED_PATH=$(readlink -f "$SCRIPT_DIR/..") EMULATOR_BIN_PATH=$EMULATOR_INSTALLED_PATH/bin # set env variables for windows +# for SDL display export SDL_STDIO_REDIRECT=0 + fi # set platform independent environment variables +# for VIGS export VIGS_SYNC_READ_PIXELS=1 # check "--with-gdb" diff --git a/tizen/standalone-src/Makefile b/tizen/standalone-src/Makefile index 924aeb7488..6ef4b54a7e 100644 --- a/tizen/standalone-src/Makefile +++ b/tizen/standalone-src/Makefile @@ -6,14 +6,19 @@ TARGET_EXE += qt5_msgbox$(EXESUF) ifdef CONFIG_QT EMUL_DIR=../emulator DIBS_COMMON_DIR=../common +COMMON_FLAGS=$(QT_CFLAGS) $(libs_softmmu) -DQT_NO_OPENGL -lstdc++ # for building qt5_msgbox $(TARGET_EXE): qt5_msgbox.cpp ifdef CONFIG_WIN32 $(shell $(WINDRES) qt5_msgbox.rc -O coff -o qt5_msgbox.res) - $(CXX) -o $(TARGET_EXE) qt5_msgbox.res $< $(QT_CFLAGS) $(libs_softmmu) -lstdc++ -else - $(CXX) -o $(TARGET_EXE) $< $(QT_CFLAGS) $(libs_softmmu) -lstdc++ + $(CXX) -o $(TARGET_EXE) qt5_msgbox.res $< $(COMMON_FLAGS) +endif +ifdef CONFIG_DARWIN + $(CXX) -o $(TARGET_EXE) $< $(COMMON_FLAGS) -Wl,-rpath,'@executable_path' +endif +ifdef CONFIG_LINUX + $(CXX) -o $(TARGET_EXE) $< $(COMMON_FLAGS) -Wl,-rpath,'$$ORIGIN' endif all: $(TARGET_EXE)