diff --git a/mozilla/js/src/config.mk b/mozilla/js/src/config.mk index 38747cff485..61f9736fe9e 100644 --- a/mozilla/js/src/config.mk +++ b/mozilla/js/src/config.mk @@ -152,3 +152,10 @@ VPATH = $(OBJDIR) DEPENDENCIES = $(OBJDIR)/.md LCJAR = js15lc30.jar + +# Library name +LIB := lib +ifeq ($(CPU_ARCH), x86_64) +LIB := lib64 +endif + diff --git a/mozilla/js/src/config/Linux_All.mk b/mozilla/js/src/config/Linux_All.mk index 16342fd0e62..4e5bbc4cd24 100644 --- a/mozilla/js/src/config/Linux_All.mk +++ b/mozilla/js/src/config/Linux_All.mk @@ -48,6 +48,8 @@ MKSHLIB = $(LD) -shared $(XMKSHLIBOPTS) # $(CC) -c -MD $*.d $(CFLAGS) $< CPU_ARCH = $(shell uname -m) +# don't filter in x86-64 architecture +ifneq (x86_64,$(CPU_ARCH)) ifeq (86,$(findstring 86,$(CPU_ARCH))) CPU_ARCH = x86 OS_CFLAGS+= -DX86_LINUX @@ -62,8 +64,9 @@ ifeq (2.91.66, $(firstword $(GCC_LIST))) CFLAGS+= -DGCC_OPT_BUG endif endif - endif +endif + GFX_ARCH = x OS_LIBS = -lm -lc @@ -81,3 +84,15 @@ endif # Use the editline library to provide line-editing support. JS_EDITLINE = 1 + +ifeq ($(CPU_ARCH),x86_64) +# Use VA_COPY() standard macro on x86-64 +# FIXME: better use it everywhere +OS_CFLAGS += -DHAVE_VA_COPY +endif + +ifeq ($(CPU_ARCH),x86_64) +# We need PIC code for shared libraries +# FIXME: better patch rules.mk & fdlibm/Makefile* +OS_CFLAGS += -DPIC -fPIC +endif diff --git a/mozilla/js/src/jsconfig.mk b/mozilla/js/src/jsconfig.mk index d17159e3137..ada5af0fc27 100644 --- a/mozilla/js/src/jsconfig.mk +++ b/mozilla/js/src/jsconfig.mk @@ -141,10 +141,10 @@ endif endif ship: - mkdir -p $(SHIP_DIR)/lib + mkdir -p $(SHIP_DIR)/$(LIB) mkdir -p $(SHIP_DIR)/include mkdir -p $(SHIP_DIR)/bin - cp $(SHIP_LIBS) $(SHIP_DIR)/lib + cp $(SHIP_LIBS) $(SHIP_DIR)/$(LIB) cp $(SHIP_INCS) $(SHIP_DIR)/include cp $(SHIP_BINS) $(SHIP_DIR)/bin cd $(SHIP_DIR); \ diff --git a/mozilla/js/src/rules.mk b/mozilla/js/src/rules.mk index 0a8895b46b5..66c5f471a79 100644 --- a/mozilla/js/src/rules.mk +++ b/mozilla/js/src/rules.mk @@ -153,18 +153,18 @@ endif export: +$(LOOP_OVER_PREDIRS) - mkdir -p $(DIST)/include $(DIST)/lib $(DIST)/bin + mkdir -p $(DIST)/include $(DIST)/$(LIB) $(DIST)/bin ifneq "$(strip $(HFILES))" "" $(CP) $(HFILES) $(DIST)/include endif ifneq "$(strip $(LIBRARY))" "" - $(CP) $(LIBRARY) $(DIST)/lib + $(CP) $(LIBRARY) $(DIST)/$(LIB) endif ifneq "$(strip $(JARS))" "" - $(CP) $(JARS) $(DIST)/lib + $(CP) $(JARS) $(DIST)/$(LIB) endif ifneq "$(strip $(SHARED_LIBRARY))" "" - $(CP) $(SHARED_LIBRARY) $(DIST)/lib + $(CP) $(SHARED_LIBRARY) $(DIST)/$(LIB) endif ifneq "$(strip $(PROGRAM))" "" $(CP) $(PROGRAM) $(DIST)/bin