diff -uNr js/src/Makefile.ref js-patched/src/Makefile.ref --- js/src/Makefile.ref 2006-08-21 14:58:45.000000000 -0400 +++ js-patched/src/Makefile.ref 2007-05-29 11:36:57.000000000 -0400 @@ -61,11 +61,11 @@ ifdef JS_THREADSAFE DEFINES += -DJS_THREADSAFE -INCLUDES += -I../../dist/$(OBJDIR)/include +INCLUDES += -I@FINKPREFIX@/include/nspr ifdef USE_MSVC OTHER_LIBS += ../../dist/$(OBJDIR)/lib/libnspr${NSPR_LIBSUFFIX}.lib else -OTHER_LIBS += -L../../dist/$(OBJDIR)/lib -lnspr${NSPR_LIBSUFFIX} +OTHER_LIBS += -L@FINKPREFIX@$(LIBDIR) -lnspr${NSPR_LIBSUFFIX} endif endif @@ -132,7 +132,7 @@ 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. @@ -185,6 +185,8 @@ jsstr.h \ jsxdrapi.h \ jsxml.h \ + jsutil.h \ + jsprf.h \ $(NULL) API_HFILES = \ @@ -377,3 +379,16 @@ SUFFIXES: .i %.i: %.c $(CC) -C -E $(CFLAGS) $< > $*.i + +DESTDIR := +PREFIX := @FINKPREFIX@ +BINDIR := $(PREFIX)/bin +MY_LIBDIR := $(PREFIX)/$(LIBDIR) +INCLUDEDIR := $(PREFIX)/include/js +INSTALL := install +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) diff -uNr js/src/config/Darwin.mk js-patched/src/config/Darwin.mk --- js/src/config/Darwin.mk 2005-02-12 15:10:33.000000000 -0500 +++ js-patched/src/config/Darwin.mk 2007-05-29 11:42:07.000000000 -0400 @@ -43,13 +43,13 @@ # Just ripped from Linux config # -CC = cc +CC = gcc CCC = g++ -CFLAGS += -Wall -Wno-format -OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DDARWIN +CFLAGS += -Wall -Wno-format -no-cpp-precomp -fno-common -pipe +OS_CFLAGS = -DJS_THREADSAFE -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DDARWIN RANLIB = ranlib -MKSHLIB = libtool $(XMKSHLIBOPTS) -framework System +MKSHLIB = $(CC) -compatibility_version 1.0 -current_version 1.0 -framework System -dynamiclib $(XMKSHLIBOPTS) -lm -lplds4 -lplc4 -lnspr4 $(LDFLAGS) #.c.o: # $(CC) -c -MD $*.d $(CFLAGS) $< @@ -57,7 +57,6 @@ CPU_ARCH = $(shell uname -m) ifeq (86,$(findstring 86,$(CPU_ARCH))) CPU_ARCH = x86 -OS_CFLAGS+= -DX86_LINUX endif GFX_ARCH = x @@ -65,14 +64,6 @@ ASFLAGS += -x assembler-with-cpp -ifeq ($(CPU_ARCH),alpha) - -# Ask the C compiler on alpha linux to let us work with denormalized -# double values, which are required by the ECMA spec. - -OS_CFLAGS += -mieee -endif - # Use the editline library to provide line-editing support. JS_EDITLINE = 1 diff -uNr js/src/config/Linux_All.mk js-patched/src/config/Linux_All.mk --- js/src/config/Linux_All.mk 2005-05-10 15:53:44.000000000 -0400 +++ js-patched/src/config/Linux_All.mk 2007-05-29 10:39:35.000000000 -0400 @@ -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 diff -uNr js/src/config.mk js-patched/src/config.mk --- js/src/config.mk 2003-11-14 19:10:55.000000000 -0500 +++ js-patched/src/config.mk 2007-05-29 10:39:35.000000000 -0400 @@ -112,6 +112,8 @@ CP = cp endif +BUILD_OPT := 1 + ifdef BUILD_OPT OPTIMIZER = -O DEFINES += -UDEBUG -DNDEBUG -UDEBUG_$(shell whoami) diff -uNr js/src/fdlibm/Makefile.ref js-patched/src/fdlibm/Makefile.ref --- js/src/fdlibm/Makefile.ref 2003-11-14 19:11:04.000000000 -0500 +++ js-patched/src/fdlibm/Makefile.ref 2007-05-29 10:39:35.000000000 -0400 @@ -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) diff -uNr js/src/rules.mk js-patched/src/rules.mk --- js/src/rules.mk 2003-11-14 19:11:04.000000000 -0500 +++ js-patched/src/rules.mk 2007-05-29 10:39:35.000000000 -0400 @@ -82,6 +82,10 @@ @$(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 @@ /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) -install_name $(PREFIX)/lib/$(notdir $@) endif endif