Author: Wim Lavrijsen <[email protected]>
Branch: reflex-support
Changeset: r53844:83c693bf6d3e
Date: 2012-03-20 15:36 -0700
http://bitbucket.org/pypy/pypy/changeset/83c693bf6d3e/

Log:    simplification

diff --git a/pypy/module/cppyy/capi/cint_capi.py 
b/pypy/module/cppyy/capi/cint_capi.py
--- a/pypy/module/cppyy/capi/cint_capi.py
+++ b/pypy/module/cppyy/capi/cint_capi.py
@@ -28,34 +28,13 @@
     _cintdll = rdynload.dlopen(ll_libname, rdynload.RTLD_GLOBAL | 
rdynload.RTLD_NOW)
 with rffi.scoped_str2charp('libCore.so') as ll_libname:
     _coredll = rdynload.dlopen(ll_libname, rdynload.RTLD_GLOBAL | 
rdynload.RTLD_NOW)
-with rffi.scoped_str2charp('libMathCore.so') as ll_libname:
-    _coredll = rdynload.dlopen(ll_libname, rdynload.RTLD_GLOBAL | 
rdynload.RTLD_NOW)
-
-with rffi.scoped_str2charp('libRIO.so') as ll_libname:
-    _coredll = rdynload.dlopen(ll_libname, rdynload.RTLD_GLOBAL | 
rdynload.RTLD_NOW)
-with rffi.scoped_str2charp('libHist.so') as ll_libname:
-    _coredll = rdynload.dlopen(ll_libname, rdynload.RTLD_GLOBAL | 
rdynload.RTLD_NOW)
-with rffi.scoped_str2charp('libGraf.so') as ll_libname:
-    _coredll = rdynload.dlopen(ll_libname, rdynload.RTLD_GLOBAL | 
rdynload.RTLD_NOW)
-with rffi.scoped_str2charp('libGraf3d.so') as ll_libname:
-    _coredll = rdynload.dlopen(ll_libname, rdynload.RTLD_GLOBAL | 
rdynload.RTLD_NOW)
-with rffi.scoped_str2charp('libGpad.so') as ll_libname:
-    _coredll = rdynload.dlopen(ll_libname, rdynload.RTLD_GLOBAL | 
rdynload.RTLD_NOW)
-with rffi.scoped_str2charp('libTree.so') as ll_libname:
-    _coredll = rdynload.dlopen(ll_libname, rdynload.RTLD_GLOBAL | 
rdynload.RTLD_NOW)
-with rffi.scoped_str2charp('libMatrix.so') as ll_libname:
-    _coredll = rdynload.dlopen(ll_libname, rdynload.RTLD_GLOBAL | 
rdynload.RTLD_NOW)
-with rffi.scoped_str2charp('libNet.so') as ll_libname:
-    _coredll = rdynload.dlopen(ll_libname, rdynload.RTLD_GLOBAL | 
rdynload.RTLD_NOW)
-with rffi.scoped_str2charp('libThread.so') as ll_libname:
-    _coredll = rdynload.dlopen(ll_libname, rdynload.RTLD_GLOBAL | 
rdynload.RTLD_NOW)
 
 eci = ExternalCompilationInfo(
     separate_module_files=[srcpath.join("cintcwrapper.cxx")],
     include_dirs=[incpath] + rootincpath,
     includes=["cintcwrapper.h"],
     library_dirs=rootlibpath,
-    link_extra=["-lMathCore", "-lCore", "-lCint"],
+    link_extra=["-lCore", "-lCint"],
     use_cpp_linker=True,
 )
 
diff --git a/pypy/module/cppyy/src/cintcwrapper.cxx 
b/pypy/module/cppyy/src/cintcwrapper.cxx
--- a/pypy/module/cppyy/src/cintcwrapper.cxx
+++ b/pypy/module/cppyy/src/cintcwrapper.cxx
@@ -73,10 +73,16 @@
     TCppyyApplication(const char* acn, Int_t* argc, char** argv, Bool_t 
do_load = kTRUE)
            : TApplication(acn, argc, argv) {
 
+       // Explicitly load libMathCore as CINT will not auto load it when using 
one
+       // of its globals. Once moved to Cling, which should work correctly, we
+       // can remove this statement.
+       gSystem->Load("libMathCore");
+
        if (do_load) {
             // follow TRint to minimize differences with CINT
             ProcessLine("#include <iostream>", kTRUE);
             ProcessLine("#include <_string>",  kTRUE); // for std::string 
iostream.
+            ProcessLine("#include <DllImport.h>", kTRUE);// Defined R__EXTERN
             ProcessLine("#include <vector>",   kTRUE); // needed because 
they're used within the
             ProcessLine("#include <pair>",     kTRUE); //  core ROOT dicts and 
CINT won't be able
                                                        //  to properly unload 
these files
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to