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

Reply via email to