RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: j...@rpm5.org Module: rpm Date: 10-Jul-2017 22:11:23 Branch: rpm-5_4 Handle: 2017071020112201 Modified files: (Branch: rpm-5_4) rpm configure.ac rpm/js Makefile.am rpmjs45.cpp rpm/js/src Makefile.am rpm/rpmio Makefile.am rpmjss.cpp rpmjss.h Log: - rpmjss: permit --without-mozjs builds (default). Summary: Revision Changes Path 2.472.2.177 +5 -1 rpm/configure.ac 1.44.2.18 +4 -20 rpm/js/Makefile.am 1.1.2.10 +0 -1 rpm/js/rpmjs45.cpp 1.1.2.6 +8 -30 rpm/js/src/Makefile.am 1.293.2.106 +6 -20 rpm/rpmio/Makefile.am 1.1.2.4 +20 -11 rpm/rpmio/rpmjss.cpp 1.1.2.7 +1 -0 rpm/rpmio/rpmjss.h ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/configure.ac ============================================================================ $ cvs diff -u -r2.472.2.176 -r2.472.2.177 configure.ac --- rpm/configure.ac 10 Jul 2017 09:39:54 -0000 2.472.2.176 +++ rpm/configure.ac 10 Jul 2017 20:11:22 -0000 2.472.2.177 @@ -3981,19 +3981,23 @@ #AC_LANG_POP(C++) WITH_SPIDERMONKEY_SUBDIR="" +WITH_MOZJS_CXXFLAGS="" AC_LANG_PUSH(C++) RPM_CHECK_LIB( [MozJS (mozjs)], [mozjs], [mozjs], [_fini], [jsapi.h], - [no,internal:none], [js:include:extract], + [no,internal:none], [js:include:src], [ if test ".$RPM_CHECK_LIB_LOCATION" = .internal; then WITH_SPIDERMONKEY_SUBDIR="js/src" AC_DEFINE(HAVE_JSAPI_H, 1, [Define to 1 if you have <jsapi.h>]) AC_DEFINE(HAVE_LIBMOZJS, 1, [Define to 1 if you have the 'mozjs' library (-lmozjs).]) + WITH_MOZJS_CXXFLAGS="-DEXPORT_JS_API -DDLL_PREFIX='\"lib\"' -DDLL_SUFFIX='\".so\"' -DMOZILLA_CLIENT -D'moz_xmalloc(_len)=malloc(_len)' -include \${top_srcdir}/\$(WITH_MOZJS_SUBDIR)/extract/js/src/js/src/js-confdefs.h -I\${top_srcdir}/\$(WITH_MOZJS_SUBDIR)/extract/js/src -I\${top_srcdir}/\$(WITH_MOZJS_SUBDIR)/extract/mfbt \$(WITH_MOZJS_CPPFLAGS)" + fi ], []) AC_LANG_POP(C++) +AC_SUBST(WITH_MOZJS_CXXFLAGS) AC_SUBST(WITH_SPIDERMONKEY_SUBDIR) dnl # Google V8 @@ . patch -p0 <<'@@ .' Index: rpm/js/Makefile.am ============================================================================ $ cvs diff -u -r1.44.2.17 -r1.44.2.18 Makefile.am --- rpm/js/Makefile.am 10 Jul 2017 10:09:25 -0000 1.44.2.17 +++ rpm/js/Makefile.am 10 Jul 2017 20:11:22 -0000 1.44.2.18 @@ -33,7 +33,7 @@ @WITH_FILE_CPPFLAGS@ \ @WITH_GPSEE_CPPFLAGS@ \ @WITH_LUA_CPPFLAGS@ \ - @WITH_MOZJS185_CPPFLAGS@ \ + @WITH_MOZJS_CPPFLAGS@ \ @WITH_NEON_CPPFLAGS@ \ @WITH_POPT_CPPFLAGS@ \ @WITH_SYCK_CPPFLAGS@ \ @@ -118,25 +118,9 @@ rpmjs45shim.cpp \ rpmjs45.cpp # ${moz_builddir}/shell/Unified_cpp_js_src_shell0.cpp -rpmjs45_CPPFLAGS = \ - -DEXPORT_JS_API \ - -DDLL_PREFIX='"lib"' -DDLL_SUFFIX='".so"' \ - -DMOZILLA_CLIENT \ - -D'moz_xmalloc(_len)=malloc(_len)' \ - -I${moz_srcdir}/mfbt \ - -I${moz_srcdir}/js/src \ - -I${srcdir}/include \ - -I../rpmio \ - -include ${moz_srcdir}/js/src/js/src/js-confdefs.h \ - -pthread \ - -fPIC \ - -O3 -#rpmjs_CXXFLAGS = \ -# -std=gnu++0x \ -# -fno-rtti -rpmjs45_LDADD = \ - ${builddir}/src/libmozjs.la \ - $(RPMIO_LDADD_COMMON) +rpmjs45_CXXFLAGS = $(WITH_MOZJS_CXXFLAGS) -I../rpmio -fPIC -O3 +rpmjs45_LDADD = $(WITH_MOZJS_LIBS) +rpmjs45_LDFLAGS = $(WITH_MOZJS_LDFLAGS) foo: rpmjs45 ./rpmjs45 -f rpmjss.inp @@ . patch -p0 <<'@@ .' Index: rpm/js/rpmjs45.cpp ============================================================================ $ cvs diff -u -r1.1.2.9 -r1.1.2.10 rpmjs45.cpp --- rpm/js/rpmjs45.cpp 10 Jul 2017 10:09:25 -0000 1.1.2.9 +++ rpm/js/rpmjs45.cpp 10 Jul 2017 20:11:22 -0000 1.1.2.10 @@ -543,7 +543,6 @@ #include <poptIO.h> /*==============================================================*/ -#define N_(_str) (_str) struct poptOption rpmjssIPoptTable[] = { { "allow", '\0', POPT_BIT_SET, &_jss.flags, RPMJSS_FLAGS_ALLOW, @@ . patch -p0 <<'@@ .' Index: rpm/js/src/Makefile.am ============================================================================ $ cvs diff -u -r1.1.2.5 -r1.1.2.6 Makefile.am --- rpm/js/src/Makefile.am 8 Jul 2017 20:32:11 -0000 1.1.2.5 +++ rpm/js/src/Makefile.am 10 Jul 2017 20:11:23 -0000 1.1.2.6 @@ -113,41 +113,18 @@ Unified_cpp_js_src36.cpp MOZ_CPPFLAGS = \ - -DEXPORT_JS_API \ - -DJS_HAS_CTYPES \ - -DDLL_PREFIX='"lib"' -DDLL_SUFFIX='".so"' \ - -fPIC \ - -DMOZILLA_CLIENT \ - -D'moz_xmalloc(_len)=malloc(_len)' \ - -I${moz_srcdir}/js/src \ - -I${moz_srcdir}/mfbt \ - -I${top_srcdir}/js/include \ - -I${srcdir} \ - -I${builddir} \ - -include ${top_srcdir}/config.h \ + $(WITH_MOZJS_CPPFLAGS) \ + -include $(top_srcdir)/config.h \ -Uioctl -Drpl_ioctl=ioctl \ - -include js-confdefs.h \ - -include js/RequiredDefines.h \ - -fno-tree-vrp \ - -fno-strict-aliasing \ - -fno-delete-null-pointer-checks \ + -fPIC \ -Wsign-compare \ -Wtype-limits \ -Wcast-align \ -Wno-invalid-offsetof \ - -ffunction-sections \ - -fdata-sections \ - -fno-exceptions \ - -fno-math-errno \ - -pthread \ -DNDEBUG \ - -DTRIMMER \ - -freorder-blocks \ - -O3 \ - -fomit-frame-pointer + -O3 MOZ_CXXFLAGS = \ - -std=gnu++0x \ - -fno-rtti + $(WITH_MOZJS_CXXFLAGS) pkglibdir = @USRLIBRPM@/lib pkgbindir = @USRLIBRPM@/bin @@ -160,10 +137,11 @@ libmozjs_la_CPPFLAGS = $(MOZ_CPPFLAGS) libmozjs_la_CXXFLAGS = $(MOZ_CXXFLAGS) -js_SOURCES = js45shim.cpp js45.cpp +js_SOURCES = js45shim.cpp js45.cpp js_CPPFLAGS = $(MOZ_CPPFLAGS) js_CXXFLAGS = $(MOZ_CXXFLAGS) -js_LDADD = libmozjs.la +js_LDADD = $(WITH_MOZJS_LIBS) +js_LDFLAGS = $(WITH_MOZJS_FLAGS) foo: js rpmjss.inp ./js -f rpmjss.inp @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/Makefile.am ============================================================================ $ cvs diff -u -r1.293.2.105 -r1.293.2.106 Makefile.am --- rpm/rpmio/Makefile.am 10 Jul 2017 09:38:54 -0000 1.293.2.105 +++ rpm/rpmio/Makefile.am 10 Jul 2017 20:11:23 -0000 1.293.2.106 @@ -173,6 +173,8 @@ usrlibdir = $(libdir) usrlib_LTLIBRARIES = librpmio.la +# XXX mozjs compilation: lets pollute only CXXFLAGS +librpmio_la_CXXFLAGS = $(WITH_MOZJS_CXXFLAGS) librpmio_la_SOURCES = \ getdate.c \ blake2b.c blake2bp.c blake2s.c blake2sp.c blake2-rpm.c \ @@ -180,8 +182,9 @@ groestl.c hamsi.c jh.c keccak.c lane.c luffa.c md2.c md6.c radiogatun.c\ salsa10.c salsa20.c shabal.c shavite3.c simd.c skein.c tib3.c tiger.c \ rpmgit.c rpmio-stub.c \ - rpmjs45shim.cpp rpmjss.cpp rpmkeyring.c \ + rpmkeyring.c \ rpmnix.c rpmodbc.c rpmsql.c set.c \ + rpmjs45shim.cpp rpmjss.cpp \ ar.c \ argv.c \ bcon.c \ @@ -280,8 +283,9 @@ defexec_DATA = librpmio-$(DLL_VERSION).def DISTCLEANFILES += $(defexec_DATA) endif +librpmio_la_LDFLAGS += $(WITH_MOZJS_LDFLAGS) -librpmio_la_LIBADD = $(top_builddir)/js/src/libmozjs.la +librpmio_la_LIBADD = $(WITH_MOZJS_LIBS) #librpmio_la_LIBADD += duktape.o -lm if ENABLE_BUILD_INTLIBDEP librpmio_la_LIBADD += \ @@ -321,24 +325,6 @@ keccak.lo: $(top_srcdir)/rpmio/keccak.c @$(LTCOMPILE) -O0 -c $< -moz_srcdir = ${top_srcdir}/js/extract -MOZ_CPPFLAGS = \ - -DEXPORT_JS_API \ - -DDLL_PREFIX='"lib"' -DDLL_SUFFIX='".so"' \ - -DMOZILLA_CLIENT \ - -D'moz_xmalloc(_len)=malloc(_len)' \ - -I${moz_srcdir}/mfbt \ - -I${moz_srcdir}/js/src \ - -I${top_srcdir}/js/include \ - -include ${moz_srcdir}/js/src/js/src/js-confdefs.h \ - -pthread \ - -DNDEBUG \ - -O3 -rpmjs45shim.lo: rpmjs45shim.cpp - @$(LTCOMPILE) $(MOZ_CPPFLAGS) -c $< -rpmjss.lo: rpmjss.cpp - @$(LTCOMPILE) $(MOZ_CPPFLAGS) -c $< - YACC = byacc -d getdate.c: getdate.y @echo expect 10 shift/reduce conflicts @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmjss.cpp ============================================================================ $ cvs diff -u -r1.1.2.3 -r1.1.2.4 rpmjss.cpp --- rpm/rpmio/rpmjss.cpp 10 Jul 2017 15:11:37 -0000 1.1.2.3 +++ rpm/rpmio/rpmjss.cpp 10 Jul 2017 20:11:23 -0000 1.1.2.4 @@ -4,6 +4,8 @@ #pragma GCC diagnostic ignored "-Wextra" #include "system.h" + +#if defined(WITH_MOZJS) #undef ioctl #define rpl_ioctl ioctl @@ -16,6 +18,7 @@ /*==============================================================*/ #include "shell/jsoptparse.cpp" /*==============================================================*/ +#endif /* WITH_MOZJS */ #include <rpmio.h> #include <rpmlog.h> @@ -33,6 +36,7 @@ fprintf(stderr, _fmt, __VA_ARGS__) /*==============================================================*/ +#if defined(WITH_MOZJS) static bool rpmSetRuntimeOptions(JSRuntime* rt, const rpmjss jss) { @@ -296,12 +300,16 @@ return true; } +#endif /* WITH_MOZJS */ /*==============================================================*/ +typedef struct JSI_s * JSI_t; + #undef NDEBUG + +#if defined(WITH_MOZJS) static int rpmjss_nopens; -typedef struct JSI_s * JSI_t; struct JSI_s { JSRuntime *rt; JSContext *cx; @@ -572,22 +580,17 @@ static struct JSIO_s _mozjs45 = { mozFini, mozInit, mozRun }; JSIO_t mozjs45 = &_mozjs45; +#endif /* WITH_MOZJS */ -#ifdef DYING /*==============================================================*/ -struct rpmjss_s _jss; -rpmjss jss = &_jss; -#endif - -/*==============================================================*/ -static rpmjssFlags rpmjssFlagsDefault = (rpmjssFlags) ( +rpmjssFlags rpmjssFlagsDefault = (rpmjssFlags) ( RPMJSS_FLAGS_RELIMIT | RPMJSS_FLAGS_JIT | RPMJSS_FLAGS_STRICT | 0 ); -static rpmjssIonFlags rpmjssIonFlagsDefault = (rpmjssIonFlags) ( +rpmjssIonFlags rpmjssIonFlagsDefault = (rpmjssIonFlags) ( ION_SCALAR_REPLACEMENT | ION_GVN | ION_LICM | @@ -600,7 +603,7 @@ 0 ); -static rpmjssXFlags rpmjssXFlagsDefault = (rpmjssXFlags) ( +rpmjssXFlags rpmjssXFlagsDefault = (rpmjssXFlags) ( XF_BASELINE | XF_ION | XF_ASMJS | @@ -1300,14 +1303,16 @@ jss->av = argvFree(jss->av); +#if defined(WITH_MOZJS) mozFini(jss); +#endif /* WITH_MOZJS */ jss->I = NULL; } RPMIOPOOL_INTERP_MODULE(jss) -static const char * _rpmjssI_init = "\ +const char * _rpmjssI_init = "\ print('-- _rpmjssI_init --');\n\ help(version);\n\ version(185); putstr('version: '); print(version());\n\ @@ -1335,10 +1340,12 @@ (void)rc; /* Initialize JSShell interpreter (if not already). */ +#if defined(WITH_MOZJS) if (jss->I == NULL) { JSI_t I = (JSI_t) mozInit(jss); jss->I = I; } +#endif /* XXX TODO: rpmjssInfo() spewage on first open. */ @@ -1361,9 +1368,11 @@ if (jss == NULL) jss = rpmjssI(); +#if defined(WITH_MOZJS) if (str && *str && !mozRun(jss, resultp, str, __FILE__, __LINE__)) rc = RPMRC_OK; +#endif /* WITH_MOZJS */ SPEW("<== %s(%p,|%s|) rc %d |%s|\n", __FUNCTION__, jss, str, rc, (resultp ? *resultp : "")); return rc; @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmjss.h ============================================================================ $ cvs diff -u -r1.1.2.6 -r1.1.2.7 rpmjss.h --- rpm/rpmio/rpmjss.h 10 Jul 2017 14:21:59 -0000 1.1.2.6 +++ rpm/rpmio/rpmjss.h 10 Jul 2017 20:11:23 -0000 1.1.2.7 @@ -7,6 +7,7 @@ #include <rpmiotypes.h> #include <rpmio.h> +#include <argv.h> typedef struct rpmjss_s * rpmjss; @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org