view xpcom/src/SConscript @ 8:9491ac848af1 default tip

The pyxpcom library now uses @executable_path. Refined the Makefile more.
author Atul Varma <varmaa@toolness.com>
date Thu, 08 May 2008 11:01:04 -0700
parents 0eae0a3fbffa
children
line wrap: on
line source

import os

Import("env")

pyxpcom = env.SharedLibrary(
    source=["ErrorUtils.cpp",
            "PyGBase.cpp",
            "PyGModule.cpp",
            "PyGStub.cpp",
            "PyGInputStream.cpp",
            "PyGWeakReference.cpp",
            "PyIClassInfo.cpp",
            "PyIComponentManager.cpp",
            "PyIInputStream.cpp",
            "PyIEnumerator.cpp",
            "PyIID.cpp",
            "PyIInterfaceInfo.cpp",
            "PyIInterfaceInfoManager.cpp",
            "PyISimpleEnumerator.cpp",
            "PyISupports.cpp",
            "PyIVariant.cpp",
            "Pyxpt_info.cpp",
            "TypeObject.cpp",
            "VariantUtils.cpp",
            "dllmain.cpp",
            ],
    target="pyxpcom",
    LIBS=["xpcomglue_s",
          "xpcom",
          "nspr4",
          "plc4"],
    FRAMEWORKS=["Python"]
    )

env.AddPostAction(
    pyxpcom,
    "install_name_tool -id @executable_path/%(libname)s %(lib)s" %
    {"libname" : os.path.basename(pyxpcom[0].abspath),
     "lib" : pyxpcom[0].abspath}
    )

loaderEnv = env.Copy()

loaderEnv.Append(CPPPATH=[Dir(".")],
                 LIBPATH=[Dir(".")])

loaderEnv.LoadableModule(source="loader/pyloader.cpp",
                         target="libpyloader.dylib",
                         LIBS=["pyxpcom"],
                         FRAMEWORKS=["Python"])

loaderEnv.LoadableModule(source="module/_xpcom.cpp",
                         target="lib_xpcom.dylib",
                         LIBS=["pyxpcom",
                               "xpcomglue_s",
                               "xpcom",
                               "nspr4"],
                         FRAMEWORKS=["Python"])