Skip to content
Snippets Groups Projects
Commit e16381d8 authored by deuce's avatar deuce
Browse files

Add build files for Spidermonkey and Cryptlib

parent a5992b86
Branches
Tags
No related merge requests found
##############
# NSPR Stuff #
##############
ifeq ($(shell nspr-config --version > /dev/null 2>&1 && echo YES),YES)
NSPRDIR ?= $(shell nspr-config --libdir)
NSPRINCLUDE ?= $(shell nspr-config --includedir)
endif
ifeq ($(os),sunos)
ifeq ($(shell test -f /usr/sfw/lib/mozilla/libnspr4.so && echo "yes"),yes)
NSPRDIR ?= /usr/sfw/lib/mozilla
ifeq ($(shell test -d /usr/sfw/include/mozilla/nspr && echo "yes"),yes)
NSPRINCLUDE ?= /usr/sfw/include/mozilla/nspr
endif
endif
endif
ifdef NSPRINCLUDE
NSPR_CFLAGS += -I$(NSPRINCLUDE)
else
# Use local NSPR first...
NSPR_CFLAGS += -I/usr/local/include -I$(SRC_ROOT)$(DIRSEP)..$(DIRSEP)include$(DIRSEP)mozilla$(DIRSEP)nspr
endif
ifndef NSPRDIR
NSPRDIR := $(SRC_ROOT)$(DIRSEP)..$(DIRSEP)lib$(DIRSEP)mozilla$(DIRSEP)nspr$(DIRSEP)$(machine).$(BUILD)
endif
#The following is needed for nspr support on Linux
ifeq ($(os),linux)
NSPR_LIBS += -ldl
endif
NSPR_LDFLAGS += -L/usr/local/lib -L$(NSPRDIR) -lnspr4
################
# Common stuff #
################
3RDPODIR := $(3RDP_ROOT)/$(CCPRE).$(machine).$(BUILDPATH)
3RDPSRCDIR := $(3RDP_ROOT)/src
3RDPDISTDIR := $(3RDP_ROOT)/dist
3RDPBUILDDIR := $(3RDP_ROOT)/build
JS_SRC := $(3RDP_ROOT)/src/mozjs
JS_IDIR := $(3RDPODIR)/mozjs
CRYPT_SRC := $(3RDP_ROOT)/src/cl
CRYPT_IDIR := $(3RDPODIR)/cl
############
# JS Stuff #
############
JS_CFLAGS += -DJAVASCRIPT $(NSPR_CFLAGS)
JS_LDFLAGS += $(NSPR_LDFLAGS)
JS_LIBS += $(NSPR_LIBS)
ifdef JSLIB
JS_NOBUILD:=1
else
ifdef JSINCLUDE
JS_NOBUILD:=1
else
ifdef JSLIBDIR
JS_NOBUILD:=1
endif
endif
endif
ifdef JS_NOBUILD
##############################
# JS Specified on build line #
##############################
ifeq ($(os),sunos)
ifeq ($(shell test -f /usr/sfw/lib/mozilla/libmozjs185.so && echo "yes"),yes)
JSLIBDIR ?= /usr/sfw/lib/mozilla
JSLIB ?= mozjs185
endif
endif
ifndef JSLIB
JSLIB := mozjs185
endif
JS_DEPS :=
else
JSINCLUDE := $(JS_IDIR)$(DIRSEP)include/js
JSLIBDIR := $(JS_IDIR)$(DIRSEP)lib
JSLIB := mozjs185
JS_DEPS := js
endif
# Put it all together...
ifdef JSINCLUDE
JS_CFLAGS += -I$(JSINCLUDE)
endif
ifdef JSLIBDIR
JS_LDFLAGS += -L$(JSLIBDIR)
endif
JS_LIBS += -l$(JSLIB)
##################
# Cryptlib Stuff #
##################
ifdef CRYPTLIBINCLUDE
CRYPTLIB_NOBUILD:=1
else
ifdef CRYPTLIBDIR
CRYPTLIB_NOBUILD:=1
endif
endif
ifdef CRYPTLIB_NOBUILD
####################################
# Cryptlib specified on build line #
####################################
CRYPT_DEPS :=
#else
CRYPTLIBINCLUDE := $(CRYPT_IDIR)
CRYPTLIBDIR := $(CRYPT_IDIR)
CRYPT_DEPS := cl
endif
# Put it all together...
ifdef CRYPTLIBINCLUDE
CRYPT_CFLAGS += -I$(CRYPTLIBINCLUDE)
endif
ifdef CRYPTLIBDIR
CRYPT_LDFLAGS += -L$(CRYPTLIBDIR)
endif
CRYPT_LIBS += -lcl
JS_LIB = $(3RDPODIR)$(DIRSEP)mozjs$(DIRSEP)lib$(DIRSEP)$(LIBPREFIX)mozjs185$(SOFILE)
CRYPT_LIB = $(3RDPODIR)$(DIRSEP)cl$(DIRSEP)$(LIBPREFIX)cl$(LIBFILE)
# $Id$
SRC_ROOT = ../../src
# Cross platform/compiler definitions
include $(SRC_ROOT)/build/Common.gmake # defines clean and output directory rules
JS_CONFIGURE_ARGS += --with-system-nspr --disable-tests --enable-threadsafe --prefix=$(shell echo `pwd`$(DIRSEP)$(JS_IDIR))
ifdef DEBUG
JS_CONFIGURE_ARGS += --enable-debug-symbols --disable-optimize
else
JS_CONFIGURE_ARGS += --enable-optimize=-O3
endif
###############
# Directories #
###############
$(3RDPODIR):
$(QUIET)$(IFNOTEXIST) mkdir $(3RDPODIR)
$(3RDPSRCDIR):
$(QUIET)$(IFNOTEXIST) mkdir $(3RDPSRCDIR)
$(JS_SRC): | $(3RDPSRCDIR)
$(QUIET)$(IFNOTEXIST) mkdir $(JS_SRC)
$(JS_IDIR): | $(3RDPODIR)
$(QUIET)$(IFNOTEXIST) mkdir $(JS_IDIR)
$(JSLIB_BUILD): $(3RDP_ROOT)$(DIRSEP)dist/libmozjs.tgz | $(JS_SRC) $(JS_IDIR)
@echo Creating $@ ...
$(QUIET)tar -xzC $(JS_SRC) -f $(3RDPDISTDIR)$(DIRSEP)libmozjs.tgz
-$(QUIET)cd $(JS_SRC)$(DIRSEP)js-1.8.5$(DIRSEP)js$(DIRSEP)src && autoconf-2.13
$(QUIET)cd $(JS_SRC)$(DIRSEP)js-1.8.5$(DIRSEP)js$(DIRSEP)src && ./configure $(JS_CONFIGURE_ARGS)
$(QUIET)$(MAKE) -C $(JS_SRC)$(DIRSEP)js-1.8.5$(DIRSEP)js$(DIRSEP)src
$(QUIET)$(MAKE) -C $(JS_SRC)$(DIRSEP)js-1.8.5$(DIRSEP)js$(DIRSEP)src install
$(CRYPT_SRC): | $(3RDPSRCDIR)
$(QUIET)$(IFNOTEXIST) mkdir $(CRYPT_SRC)
$(CRYPT_IDIR): | $(3RDPODIR)
$(QUIET)$(IFNOTEXIST) mkdir $(CRYPT_IDIR)
$(CRYPTLIB_BUILD): $(3RDP_ROOT)$(DIRSEP)dist/cryptlib.zip | $(CRYPT_SRC) $(CRYPT_IDIR)
@echo Creating $@ ...
$(QUIET)unzip -oua $(3RDPDISTDIR)$(DIRSEP)cryptlib.zip -d $(CRYPT_SRC)
$(QUIET)make -C $(CRYPT_SRC) default
$(QUIET)cp $(CRYPT_SRC)$(DIRSEP)libcl.a $(CRYPT_IDIR)
$(QUIET)cp $(CRYPT_SRC)$(DIRSEP)cryptlib.h $(CRYPT_IDIR)
JSLIB_BUILD = ..$(DIRSEP)build$(DIRSEP)$(JS_LIB)
CRYPTLIB_BUILD = ..$(DIRSEP)build$(DIRSEP)$(CRYPT_LIB)
all: lib
jslib: $(JSLIB_BUILD)
cryptlib: $(CRYPTLIB_BUILD)
lib: $(JSLIB_BUILD) $(CRYPTLIB_BUILD)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment