mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-11-08 12:34:53 +00:00
102 lines
3.5 KiB
Makefile
102 lines
3.5 KiB
Makefile
include $(top_srcdir)/build/modmake.rulesam
|
|
|
|
AUTOMAKE_OPTIONS += foreign
|
|
|
|
# V8 version to use
|
|
V8_VERSION=6.1.298
|
|
V8=v8-$(V8_VERSION)
|
|
|
|
V8_DIR=$(switch_srcdir)/libs/$(V8)/v8
|
|
V8_DEPOT_TOOLS_PATH=$(switch_builddir)/libs/$(V8)
|
|
V8_BUILDDIR=$(V8_DEPOT_TOOLS_PATH)/v8
|
|
|
|
V8_LIBDIR=$(V8_BUILDDIR)/out.gn/$(V8_TARGET).release
|
|
|
|
if ISMAC
|
|
V8_LIBEXT=dylib
|
|
else
|
|
V8_LIBEXT=so
|
|
endif
|
|
|
|
# Build the dynamic lib version of V8
|
|
V8LIB=$(V8_LIBDIR)/libv8.$(V8_LIBEXT)
|
|
|
|
MODNAME=mod_v8
|
|
|
|
AM_CFLAGS += -I. -I./include -I$(switch_srcdir)/src/mod/languages/mod_v8/include -I$(V8_DIR)/include
|
|
AM_CPPFLAGS += -I. -I./include -I$(switch_srcdir)/src/mod/languages/mod_v8/include -I$(V8_DIR)/include -std=c++11
|
|
AM_LDFLAGS += -avoid-version -module -no-undefined -shared
|
|
|
|
AM_LIBADD = $(switch_builddir)/libfreeswitch.la -lv8 -lv8_libbase -lv8_libplatform
|
|
AM_LDFLAGS += -L$(V8_LIBDIR)
|
|
|
|
BUILT_SOURCES = $(V8LIB)
|
|
|
|
if HAVE_ODBC
|
|
AM_CFLAGS += -DHAVE_ODBC $(ODBC_INC_FLAGS)
|
|
AM_CPPFLAGS += -DHAVE_ODBC $(ODBC_INC_FLAGS)
|
|
AM_LDFLAGS += -DHAVE_ODBC -lodbc
|
|
endif
|
|
|
|
mod_LTLIBRARIES = mod_v8.la
|
|
|
|
mod_v8_la_SOURCES = \
|
|
mod_v8.cpp \
|
|
src/jsmain.cpp \
|
|
src/jsbase.cpp \
|
|
src/fscoredb.cpp \
|
|
src/fsdbh.cpp \
|
|
src/fscurl.cpp \
|
|
src/fsdtmf.cpp \
|
|
src/fsevent.cpp \
|
|
src/fsfileio.cpp \
|
|
src/fsglobal.cpp \
|
|
src/fsodbc.cpp \
|
|
src/fspcre.cpp \
|
|
src/fsrequest.cpp \
|
|
src/fssession.cpp \
|
|
src/fssocket.cpp \
|
|
src/fsteletone.cpp \
|
|
src/fsxml.cpp \
|
|
src/fsfile.cpp \
|
|
src/fseventhandler.cpp
|
|
|
|
mod_v8_la_CFLAGS = $(AM_CFLAGS) -I$(switch_srcdir)/libs/libteletone/src
|
|
mod_v8_la_CPPFLAGS = $(CURL_CFLAGS) $(AM_CPPFLAGS) -I$(switch_srcdir)/libs/libteletone/src
|
|
mod_v8_la_LIBADD = $(AM_LIBADD)
|
|
mod_v8_la_LDFLAGS = $(CURL_LIBS) $(AM_LDFLAGS)
|
|
|
|
#mod_LTLIBRARIES += mod_v8_skel.la
|
|
#mod_v8_skel_la_SOURCES = mod_v8_skel.cpp
|
|
#mod_v8_skel_la_CFLAGS = $(AM_CFLAGS) -DJSMOD_IMPORT
|
|
#mod_v8_skel_la_CPPFLAGS = $(AM_CPPFLAGS) -DJSMOD_IMPORT
|
|
#mod_v8_skel_la_LIBADD = $(AM_LIBADD)
|
|
#mod_v8_skel_la_LDFLAGS = $(AM_LDFLAGS)
|
|
|
|
$(SOURCES): $(BUILT_SOURCES)
|
|
|
|
$(V8LIB):
|
|
mkdir -p $(V8_DEPOT_TOOLS_PATH)
|
|
cd $(V8_DEPOT_TOOLS_PATH) && \
|
|
export PATH=`pwd`/depot_tools:"$$PATH" && \
|
|
if [ ! -d "$(V8_DEPOT_TOOLS_PATH)/depot_tools" ] ; then git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git && fetch v8 ; fi && \
|
|
cd v8 && \
|
|
git checkout $(V8_VERSION) && \
|
|
gclient sync && \
|
|
tools/dev/v8gen.py -vv $(V8_TARGET).release -- is_debug=false is_component_build=true v8_enable_i18n_support=false v8_use_external_startup_data=false && \
|
|
ninja -C out.gn/$(V8_TARGET).release/ d8
|
|
|
|
# This is a temporary solution to force Mac OSX build to load the libraries at the right place
|
|
if ISMAC
|
|
install-exec-local: $(DESTDIR)$(libdir)/libv8.$(V8_LIBEXT)
|
|
install_name_tool -change @rpath/libv8.$(V8_LIBEXT) $(libdir)/libv8.$(V8_LIBEXT) .libs/mod_v8.so
|
|
install_name_tool -change @rpath/libv8_libbase.$(V8_LIBEXT) $(libdir)/libv8_libbase.$(V8_LIBEXT) .libs/mod_v8.so
|
|
install_name_tool -change @rpath/libv8_libplatform.$(V8_LIBEXT) $(libdir)/libv8_libplatform.$(V8_LIBEXT) .libs/mod_v8.so
|
|
else
|
|
install-exec-local: $(DESTDIR)$(libdir)/libv8.$(V8_LIBEXT)
|
|
endif
|
|
$(DESTDIR)$(libdir)/libv8.$(V8_LIBEXT): $(V8LIB)
|
|
rm -f $(DESTDIR)$(libdir)/libv8.$(V8_LIBEXT) && cp -a $(V8_LIBDIR)/libv8.$(V8_LIBEXT) $(DESTDIR)$(libdir)/libv8.$(V8_LIBEXT)
|
|
rm -f $(DESTDIR)$(libdir)/libv8_libbase.$(V8_LIBEXT) && cp -a $(V8_LIBDIR)/libv8_libbase.$(V8_LIBEXT) $(DESTDIR)$(libdir)/libv8_libbase.$(V8_LIBEXT)
|
|
rm -f $(DESTDIR)$(libdir)/libv8_libplatform.$(V8_LIBEXT) && cp -a $(V8_LIBDIR)/libv8_libplatform.$(V8_LIBEXT) $(DESTDIR)$(libdir)/libv8_libplatform.$(V8_LIBEXT)
|