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 <syeon.hwang@samsung.com>
# 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
}
Linux*)
CONFIGURE_APPEND="
--extra-ldflags=-rdynamic
+ --extra-ldflags=-Wl,-rpath,'\$\$ORIGIN'
--audio-drv-list=alsa
--enable-sdl
--enable-kvm
--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
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"
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" %*
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)
# 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"
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)