138 lines
3.4 KiB
Diff
138 lines
3.4 KiB
Diff
--- js/src/Makefile.ref
|
|
+++ js/src/Makefile.ref
|
|
@@ -127,7 +127,7 @@ endif
|
|
ifdef JS_READLINE
|
|
# For those platforms with the readline library installed.
|
|
DEFINES += -DEDITLINE
|
|
-PROG_LIBS += -lreadline -ltermcap
|
|
+PROG_LIBS += -lreadline
|
|
else
|
|
ifdef JS_EDITLINE
|
|
# Use the editline library, built locally.
|
|
@@ -370,3 +370,16 @@ TARFILES = files `cat files`
|
|
SUFFIXES: .i
|
|
%.i: %.c
|
|
$(CC) -C -E $(CFLAGS) $< > $*.i
|
|
+
|
|
+DESTDIR :=
|
|
+PREFIX := /usr
|
|
+BINDIR := $(PREFIX)/bin
|
|
+MY_LIBDIR := $(PREFIX)/$(LIBDIR)
|
|
+INCLUDEDIR := $(PREFIX)/include/js
|
|
+INSTALL := install -g 0 -o root
|
|
+install:
|
|
+ $(INSTALL) -m 755 -d $(DESTDIR)$(INCLUDEDIR) $(DESTDIR)$(MY_LIBDIR) $(DESTDIR)$(BINDIR)
|
|
+ $(INSTALL) -m 755 $(SHARED_LIBRARY) $(DESTDIR)$(MY_LIBDIR)
|
|
+ $(INSTALL) -m 644 $(LIBRARY) $(DESTDIR)$(MY_LIBDIR)
|
|
+ $(INSTALL) -m 755 $(OBJDIR)/js $(OBJDIR)/jscpucfg $(DESTDIR)$(BINDIR)
|
|
+ $(INSTALL) -m 644 $(HFILES) $(DESTDIR)$(INCLUDEDIR)
|
|
--- js/src/config/Linux_All.mk
|
|
+++ js/src/config/Linux_All.mk
|
|
@@ -41,37 +41,15 @@
|
|
# Config for all versions of Linux
|
|
#
|
|
|
|
-CC = gcc
|
|
-CCC = g++
|
|
CFLAGS += -Wall -Wno-format
|
|
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R
|
|
|
|
RANLIB = echo
|
|
-MKSHLIB = $(LD) -shared $(XMKSHLIBOPTS)
|
|
+MKSHLIB = $(LD) -shared $(XMKSHLIBOPTS) -soname $(notdir $@)
|
|
|
|
#.c.o:
|
|
# $(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
|
|
-
|
|
-ifeq (gcc, $(CC))
|
|
-# if using gcc on x86, check version for opt bug
|
|
-# (http://bugzilla.mozilla.org/show_bug.cgi?id=24892)
|
|
-GCC_VERSION := $(shell gcc -v 2>&1 | grep version | awk '{ print $$3 }')
|
|
-GCC_LIST:=$(sort 2.91.66 $(GCC_VERSION) )
|
|
-
|
|
-ifeq (2.91.66, $(firstword $(GCC_LIST)))
|
|
-CFLAGS+= -DGCC_OPT_BUG
|
|
-endif
|
|
-endif
|
|
-endif
|
|
-endif
|
|
-
|
|
GFX_ARCH = x
|
|
|
|
OS_LIBS = -lm -lc
|
|
@@ -88,16 +66,6 @@
|
|
endif
|
|
|
|
# Use the editline library to provide line-editing support.
|
|
-JS_EDITLINE = 1
|
|
+JS_READLINE = 1
|
|
|
|
-ifeq ($(CPU_ARCH),x86_64)
|
|
-# Use VA_COPY() standard macro on x86-64
|
|
-# FIXME: better use it everywhere
|
|
OS_CFLAGS += -DHAVE_VA_COPY -DVA_COPY=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
|
|
--- js/src/rules.mk
|
|
+++ js/src/rules.mk
|
|
@@ -82,6 +82,10 @@ $(OBJDIR)/%.o: %.c
|
|
@$(MAKE_OBJDIR)
|
|
$(CC) -o $@ -c $(CFLAGS) $*.c
|
|
|
|
+$(OBJDIR)/%.lo: %.c
|
|
+ @$(MAKE_OBJDIR)
|
|
+ $(CC) -o $@ -c $(CFLAGS) $*.c -fPIC
|
|
+
|
|
$(OBJDIR)/%.o: %.s
|
|
@$(MAKE_OBJDIR)
|
|
$(AS) -o $@ $(ASFLAGS) $*.s
|
|
@@ -111,11 +115,12 @@ $(SHARED_LIBRARY): $(LIB_OBJS)
|
|
/implib:"$(OBJDIR)/$(@F:.dll=.lib)" $^
|
|
else
|
|
$(LIBRARY): $(LIB_OBJS)
|
|
- $(AR) rv $@ $?
|
|
+ $(AR) cr $@ $?
|
|
$(RANLIB) $@
|
|
|
|
-$(SHARED_LIBRARY): $(LIB_OBJS)
|
|
- $(MKSHLIB) -o $@ $(LIB_OBJS) $(LDFLAGS) $(OTHER_LIBS)
|
|
+SHARED_LIB_OBJS := $(LIB_OBJS:.o=.lo)
|
|
+$(SHARED_LIBRARY): $(SHARED_LIB_OBJS)
|
|
+ $(MKSHLIB) -o $@ $(SHARED_LIB_OBJS) $(LDFLAGS) $(OTHER_LIBS)
|
|
endif
|
|
endif
|
|
|
|
--- js/src/fdlibm/Makefile.ref
|
|
+++ js/src/fdlibm/Makefile.ref
|
|
@@ -151,7 +151,7 @@
|
|
|
|
$(OBJDIR)/%.o: %.c
|
|
@$(MAKE_OBJDIR)
|
|
- $(CC) -o $@ -c $(CFLAGS) $*.c
|
|
+ $(CC) -o $@ -c $(CFLAGS) $*.c -fPIC
|
|
|
|
$(OBJDIR)/%.o: %.s
|
|
@$(MAKE_OBJDIR)
|
|
--- js/src/config.mk
|
|
+++ js/src/config.mk
|
|
@@ -112,6 +112,8 @@
|
|
CP = cp
|
|
endif
|
|
|
|
+BUILD_OPT := 1
|
|
+
|
|
ifdef BUILD_OPT
|
|
OPTIMIZER = -O
|
|
DEFINES += -UDEBUG -DNDEBUG -UDEBUG_$(shell whoami)
|