[pypy-commit] pypy reflex-support: simplification
wlav
noreply at buildbot.pypy.org
Tue Mar 20 23:37:11 CET 2012
Author: Wim Lavrijsen <WLavrijsen at lbl.gov>
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
More information about the pypy-commit
mailing list