Linux deps version bump

Static link to libjs by default
master
KonstantinosSykas 2019-06-09 13:17:15 +03:00
parent 915c78d2d6
commit d27428d52a
3 changed files with 87 additions and 60 deletions

75
GNUmakefile Normal file → Executable file
View File

@ -10,64 +10,76 @@ ifeq ($(GNUSTEP_HOST_OS),mingw32)
endif
GNUSTEP_OBJ_DIR_BASENAME := $(GNUSTEP_OBJ_DIR_NAME)
HOST_ARCH := $(shell echo $(GNUSTEP_HOST_CPU) | sed -e s/i.86/x86/ -e s/amd64/x86_64/ )
ifeq ($(GNUSTEP_HOST_OS),mingw32)
vpath %.rc src/SDL/OOResourcesWin
ifeq ($(GNUSTEP_HOST_CPU),x86_64)
WIN_DEPS_DIR = deps/Windows-deps/x86_64
else
WIN_DEPS_DIR = deps/Windows-deps/x86
endif
vpath %.rc src/SDL/OOResourcesWin
# ifeq ($(GNUSTEP_HOST_CPU),x86_64)
# WIN_DEPS_DIR = deps/Windows-deps/x86_64
# else
# WIN_DEPS_DIR = deps/Windows-deps/x86
# endif
WIN_DEPS_DIR = deps/Windows-deps/$(HOST_ARCH)
JS_INC_DIR = $(WIN_DEPS_DIR)/JS32ECMAv5/include
JS_LIB_DIR = $(WIN_DEPS_DIR)/JS32ECMAv5/lib
# JS_LIB_DIR = $(WIN_DEPS_DIR)/JS32ECMAv5/lib
ifeq ($(debug),yes)
JS_IMPORT_LIBRARY = js32ECMAv5dbg
else
JS_IMPORT_LIBRARY = js32ECMAv5
endif
ADDITIONAL_INCLUDE_DIRS = -I$(WIN_DEPS_DIR)/include -I$(JS_INC_DIR) -Isrc/SDL -Isrc/Core -Isrc/BSDCompat -Isrc/Core/Scripting -Isrc/Core/Materials -Isrc/Core/Entities -Isrc/Core/OXPVerifier -Isrc/Core/Debug -Isrc/Core/Tables -Isrc/Core/MiniZip
ADDITIONAL_OBJC_LIBS = -lglu32 -lopengl32 -lopenal32.dll -lpng14.dll -lmingw32 -lSDLmain -lSDL -lvorbisfile.dll -lvorbis.dll -lz -lgnustep-base -l$(JS_IMPORT_LIBRARY) -lwinmm -mwindows
ADDITIONAL_OBJC_LIBS = -L$(WIN_DEPS_DIR)/lib -lglu32 -lopengl32 -lopenal32.dll -lpng14.dll -lmingw32 -lSDLmain -lSDL -lvorbisfile.dll -lvorbis.dll -lz -lgnustep-base -l$(JS_IMPORT_LIBRARY) -lwinmm -mwindows
ADDITIONAL_CFLAGS = -DWIN32 -DNEED_STRLCPY `sdl-config --cflags` -mtune=generic
# note the vpath stuff above isn't working for me, so adding src/SDL and src/Core explicitly
ADDITIONAL_OBJCFLAGS = -DLOADSAVEGUI -DWIN32 -DXP_WIN -Wno-import -std=gnu99 `sdl-config --cflags` -mtune=generic
ifneq ($(GNUSTEP_HOST_CPU),x86_64)
ADDITIONAL_LDFLAGS += -Wl,--large-address-aware
else
ADDITIONAL_LDFLAGS +=
ifneq ($(HOST_ARCH),x86_64)
ADDITIONAL_LDFLAGS += -Wl,--large-address-aware
# else
# ADDITIONAL_LDFLAGS +=
endif
oolite_LIB_DIRS += -L$(GNUSTEP_LOCAL_ROOT)/lib -L$(WIN_DEPS_DIR)/lib -L$(JS_LIB_DIR)
# oolite_LIB_DIRS += -L$(GNUSTEP_LOCAL_ROOT)/lib -L$(WIN_DEPS_DIR)/lib -L$(JS_LIB_DIR)
ifeq ($(ESPEAK),yes)
ADDITIONAL_OBJC_LIBS += -lespeak.dll
ADDITIONAL_OBJCFLAGS +=-DHAVE_LIBESPEAK=1
GNUSTEP_OBJ_DIR_NAME := $(GNUSTEP_OBJ_DIR_NAME).spk
endif
else
LIBJS_DIR = deps/Linux-deps/$(HOST_ARCH)/mozilla
LIBJS_INC_DIR = deps/Linux-deps/include/mozilla
# Uncomment the following lines if you want to build JS from source. Ensure the relevant changes are performed in Makefile too
# ifeq ($(debug),yes)
# LIBJS_DIR = deps/mozilla/js/src/build-debug
# else
# LIBJS_DIR = deps/mozilla/js/src/build-release
# endif
# LIBJS_INC_DIR = $(LIBJS_DIR)/dist/include
ifeq ($(debug),yes)
LIBJS_ROOT = deps/mozilla/js/src/build-debug
LIBJS = jsdbg_static
# By default we don't share the debug version of JS library
# If you want to debug into JS, ensure a libjsdbg_static.a exists into $(LIBJS_DIR)
else
LIBJS_ROOT = deps/mozilla/js/src/build-release
LIBJS = js_static
endif
LIBJS_INC_DIR = $(LIBJS_ROOT)/dist/include
LIBJS_LIB_DIR = $(LIBJS_ROOT)/dist/lib
LIBJS = js_static
ADDITIONAL_INCLUDE_DIRS = -I$(LIBJS_INC_DIR) -Isrc/SDL -Isrc/Core -Isrc/BSDCompat -Isrc/Core/Scripting -Isrc/Core/Materials -Isrc/Core/Entities -Isrc/Core/OXPVerifier -Isrc/Core/Debug -Isrc/Core/Tables -Isrc/Core/MiniZip
ADDITIONAL_OBJC_LIBS = -lGLU -lGL -lX11 -lSDL -lgnustep-base -l$(LIBJS) `nspr-config --libs` -lstdc++ -lopenal -lz -lvorbisfile
ADDITIONAL_CFLAGS = -Wall -DLINUX -DNEED_STRLCPY `sdl-config --cflags` `nspr-config --cflags`
ADDITIONAL_OBJCFLAGS = -Wall -std=gnu99 -DLOADSAVEGUI -DLINUX -DXP_UNIX -Wno-import `sdl-config --cflags` `nspr-config --cflags`
oolite_LIB_DIRS += -L$(LIBJS_LIB_DIR) -L/usr/X11R6/lib/
ifeq ($(use_deps),yes)
oolite_LIB_DIRS += -Ldeps/Linux-deps/$(HOST_ARCH)/lib_linker
ADDITIONAL_OBJC_LIBS += -lpng14
ADDITIONAL_INCLUDE_DIRS += -Ideps/Linux-deps/include
else
ADDITIONAL_OBJC_LIBS += -lpng
OOLITE_SHARED_LIBS = -Ldeps/Linux-deps/$(HOST_ARCH)/lib_linker
endif
ADDITIONAL_INCLUDE_DIRS = -I$(LIBJS_INC_DIR) -Isrc/SDL -Isrc/Core -Isrc/BSDCompat -Isrc/Core/Scripting -Isrc/Core/Materials -Isrc/Core/Entities -Isrc/Core/OXPVerifier -Isrc/Core/Debug -Isrc/Core/Tables -Isrc/Core/MiniZip -Ideps/Linux-deps/include
ADDITIONAL_OBJC_LIBS = $(OOLITE_SHARED_LIBS) -lGLU -lGL -lX11 -lSDL -lgnustep-base -L$(LIBJS_DIR) -l$(LIBJS) -lopenal -lz -lvorbisfile -lpng `nspr-config --libs` -lstdc++
ADDITIONAL_OBJCFLAGS = -Wall -std=gnu99 -DLOADSAVEGUI -DLINUX -DXP_UNIX -Wno-import `sdl-config --cflags` `nspr-config --cflags`
ADDITIONAL_CFLAGS = -Wall -DLINUX -DNEED_STRLCPY `sdl-config --cflags` `nspr-config --cflags`
ifeq ($(ESPEAK),yes)
ADDITIONAL_OBJC_LIBS += -lespeak
ADDITIONAL_OBJCFLAGS += -DHAVE_LIBESPEAK=1
GNUSTEP_OBJ_DIR_NAME := $(GNUSTEP_OBJ_DIR_NAME).spk
endif
# oolite_LIB_DIRS += -L$(LIBJS_LIB_DIR) -L/usr/X11R6/lib/
ifeq ($(OO_JAVASCRIPT_TRACE),yes)
ADDITIONAL_OBJCFLAGS += -DMOZ_TRACE_JSCALLS=1
endif
@ -91,8 +103,8 @@ ifeq ($(NO_SHADERS),yes)
ADDITIONAL_OBJCFLAGS += -DNO_SHADERS=1
endif
ifeq ($(FEATURE_REQUEST_5496),yes)
ADDITIONAL_CFLAGS += -DFEATURE_REQUEST_5496=1
ADDITIONAL_OBJCFLAGS += -DFEATURE_REQUEST_5496=1
ADDITIONAL_CFLAGS += -DFEATURE_REQUEST_5496=1
ADDITIONAL_OBJCFLAGS += -DFEATURE_REQUEST_5496=1
endif
# DEPLOYMENT_RELEASE_CONFIGURATION value is passed from Makefile. Note that the deployment release settings
@ -437,3 +449,4 @@ oolite_OBJC_FILES = \
include $(GNUSTEP_MAKEFILES)/objc.make
include GNUmakefile.postamble

70
Makefile Normal file → Executable file
View File

@ -32,29 +32,39 @@ DEB_REV := $(shell cat debian/revision)
pkg-debtest: DEB_REV := $(shell echo "0~test${DEB_REV}")
pkg-debsnapshot: DEB_REV := $(shell echo "0~trunk${DEB_REV}")
ifeq ($(GNUSTEP_HOST_OS),mingw32)
ifeq ($(GNUSTEP_HOST_CPU),x86_64)
LIBJS = deps/Windows-deps/x86_64/DLLs/js32ECMAv5.dll
LIBJS_DBG = deps/Windows-deps/x86_64/DLLs/js32ECMAv5.dll
else
LIBJS = deps/Windows-deps/x86/DLLs/js32ECMAv5.dll
LIBJS_DBG = deps/Windows-deps/x86/DLLs/js32ECMAv5.dll
endif
DEPS = $(LIBJS)
DEPS_DBG = $(LIBJS_DBG)
else
# define autopackage .apspec file according to the CPU architecture
DEPS =
DEPS_DBG =
ifneq ($(GNUSTEP_HOST_OS),mingw32)
HOST_ARCH := $(shell echo $(GNUSTEP_HOST_CPU) | sed -e s/i.86/x86/ -e s/amd64/x86_64/ )
ifeq ($(HOST_ARCH),x86_64)
APSPEC_FILE = installers/autopackage/default.x86_64.apspec
else
APSPEC_FILE = installers/autopackage/default.x86.apspec
endif
DEPS = LIBJS
DEPS_DBG = LIBJS_DBG
APSPEC_FILE = installers/autopackage/default.$(HOST_ARCH).apspec
# Uncomment the following two variables, if you want to build JS from source. Ensure the relevant changes are performed in GNUmakefile too
# DEPS = LIBJS
# DEPS_DBG = LIBJS_DBG
endif
# ifeq ($(GNUSTEP_HOST_OS),mingw32)
# # ifeq ($(GNUSTEP_HOST_CPU),x86_64)
# # LIBJS = deps/Windows-deps/x86_64/DLLs/js32ECMAv5.dll
# # LIBJS_DBG = deps/Windows-deps/x86_64/DLLs/js32ECMAv5.dll
# # else
# # LIBJS = deps/Windows-deps/x86/DLLs/js32ECMAv5.dll
# # LIBJS_DBG = deps/Windows-deps/x86/DLLs/js32ECMAv5.dll
# # endif
# # LIBJS = deps/Windows-deps/$(GNUSTEP_HOST_CPU)/DLLs/js32ECMAv5.dll
# # LIBJS_DBG = deps/Windows-deps/$(GNUSTEP_HOST_CPU)/DLLs/js32ECMAv5.dll
# # DEPS = $(LIBJS)
# # DEPS_DBG = $(LIBJS_DBG)
# DEPS =
# DEPS_DBG =
# else
# HOST_ARCH := $(shell echo $(GNUSTEP_HOST_CPU) | sed -e s/i.86/x86/ -e s/amd64/x86_64/ )
# APSPEC_FILE = installers/autopackage/default.$(HOST_ARCH).apspec
# # DEPS = LIBJS
# # DEPS_DBG = LIBJS_DBG
# DEPS =
# DEPS_DBG =
# endif
# Here are our default targets
#
@ -80,21 +90,25 @@ release-snapshot: $(DEPS)
# Here are targets using the provided dependencies
.PHONY: deps-debug
deps-debug: $(DEPS_DBG)
cd deps/Linux-deps/$(HOST_ARCH)/lib_linker && ./make_so_links.sh && cd ../../../..
$(MAKE) -f GNUmakefile debug=yes use_deps=yes strip=no
mkdir -p AddOns && rm -rf AddOns/Basic-debug.oxp && cp -rf DebugOXP/Debug.oxp AddOns/Basic-debug.oxp
.PHONY: deps-release
deps-release: $(DEPS)
cd deps/Linux-deps/$(HOST_ARCH)/lib_linker && ./make_so_links.sh && cd ../../../..
$(MAKE) -f GNUmakefile debug=no use_deps=yes strip=yes
mkdir -p AddOns && rm -rf AddOns/Basic-debug.oxp && cp -rf DebugOXP/Debug.oxp AddOns/Basic-debug.oxp
.PHONY: deps-release-deployment
deps-release-deployment: $(DEPS)
cd deps/Linux-deps/$(HOST_ARCH)/lib_linker && ./make_so_links.sh && cd ../../../..
$(MAKE) -f GNUmakefile DEPLOYMENT_RELEASE_CONFIGURATION=yes debug=no use_deps=yes strip=yes
.PHONY: deps-release-snapshot
deps-release-snapshot: $(DEPS)
cd deps/Linux-deps/$(HOST_ARCH)/lib_linker && ./make_so_links.sh && cd ../../../..
$(MAKE) -f GNUmakefile SNAPSHOT_BUILD=yes VERSION_STRING=$(VER) debug=no use_deps=yes strip=yes
mkdir -p AddOns && rm -rf AddOns/Basic-debug.oxp && cp -rf DebugOXP/Debug.oxp AddOns/Basic-debug.oxp
@ -107,14 +121,14 @@ ifeq ($(GNUSTEP_HOST_OS),mingw32)
endif
$(MAKE) -f libjs.make debug=yes
.PHONY: LIBJS
LIBJS:
ifeq ($(GNUSTEP_HOST_OS),mingw32)
@echo "ERROR - this Makefile can't (yet) build the Javascript DLL"
@echo " Please build it yourself and copy it to $(LIBJS)."
false
endif
$(MAKE) -f libjs.make debug=no
# .PHONY: LIBJS
# LIBJS:
# ifeq ($(GNUSTEP_HOST_OS),mingw32)
# @echo "ERROR - this Makefile can't (yet) build the Javascript DLL"
# @echo " Please build it yourself and copy it to $(LIBJS)."
# false
# endif
# $(MAKE) -f libjs.make debug=no
.PHONY: clean
clean:

2
deps/Linux-deps vendored

@ -1 +1 @@
Subproject commit 5740a78cd84b96ba6035174489ab6f8e6b10291f
Subproject commit 07f51db0c22c54bba7e9d839607bd95fd75693a9