mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-30 16:58:40 -04:00
Fix runtime issues running maya2egg on Mac OS X
This commit is contained in:
parent
f7eb1db74c
commit
fdcd8de596
@ -5884,15 +5884,15 @@ for VER in MAYAVERSIONS:
|
|||||||
VNUM = VER[4:]
|
VNUM = VER[4:]
|
||||||
if not PkgSkip(VER) and not PkgSkip("PANDATOOL"):
|
if not PkgSkip(VER) and not PkgSkip("PANDATOOL"):
|
||||||
if GetTarget() == 'darwin' and int(VNUM) >= 2012:
|
if GetTarget() == 'darwin' and int(VNUM) >= 2012:
|
||||||
VER_OPTS = ['NOARCH:PPC', 'NOARCH:I386', VER]
|
ARCH_OPTS = ['NOARCH:PPC', 'NOARCH:I386']
|
||||||
if len(OSX_ARCHS) != 0 and 'x86_64' not in OSX_ARCHS:
|
if len(OSX_ARCHS) != 0 and 'x86_64' not in OSX_ARCHS:
|
||||||
continue
|
continue
|
||||||
elif GetTarget() == 'darwin' and int(VNUM) >= 2009:
|
elif GetTarget() == 'darwin' and int(VNUM) >= 2009:
|
||||||
VER_OPTS = ['NOARCH:PPC', VER]
|
ARCH_OPTS = ['NOARCH:PPC']
|
||||||
else:
|
else:
|
||||||
VER_OPTS = [VER]
|
ARCH_OPTS = []
|
||||||
|
|
||||||
OPTS=['DIR:pandatool/src/mayaprogs', 'DIR:pandatool/src/maya', 'DIR:pandatool/src/mayaegg', 'DIR:pandatool/src/cvscopy', 'BUILDING:MISC'] + VER_OPTS
|
OPTS=['DIR:pandatool/src/mayaprogs', 'DIR:pandatool/src/maya', 'DIR:pandatool/src/mayaegg', 'DIR:pandatool/src/cvscopy', 'BUILDING:MISC', VER] + ARCH_OPTS
|
||||||
TargetAdd('mayaeggimport'+VNUM+'_mayaeggimport.obj', opts=OPTS, input='mayaEggImport.cxx')
|
TargetAdd('mayaeggimport'+VNUM+'_mayaeggimport.obj', opts=OPTS, input='mayaEggImport.cxx')
|
||||||
TargetAdd('mayaeggimport'+VNUM+'.mll', input='mayaegg'+VNUM+'_loader.obj')
|
TargetAdd('mayaeggimport'+VNUM+'.mll', input='mayaegg'+VNUM+'_loader.obj')
|
||||||
TargetAdd('mayaeggimport'+VNUM+'.mll', input='mayaeggimport'+VNUM+'_mayaeggimport.obj')
|
TargetAdd('mayaeggimport'+VNUM+'.mll', input='mayaeggimport'+VNUM+'_mayaeggimport.obj')
|
||||||
@ -5900,7 +5900,7 @@ for VER in MAYAVERSIONS:
|
|||||||
TargetAdd('mayaeggimport'+VNUM+'.mll', input=COMMON_PANDA_LIBS)
|
TargetAdd('mayaeggimport'+VNUM+'.mll', input=COMMON_PANDA_LIBS)
|
||||||
if GetTarget() == 'windows':
|
if GetTarget() == 'windows':
|
||||||
TargetAdd('mayaeggimport'+VNUM+'.mll', input='libp3pystub.lib')
|
TargetAdd('mayaeggimport'+VNUM+'.mll', input='libp3pystub.lib')
|
||||||
TargetAdd('mayaeggimport'+VNUM+'.mll', opts=['ADVAPI']+VER_OPTS)
|
TargetAdd('mayaeggimport'+VNUM+'.mll', opts=['ADVAPI', VER]+ARCH_OPTS)
|
||||||
|
|
||||||
TargetAdd('mayaloader'+VNUM+'_config_mayaloader.obj', opts=OPTS, input='config_mayaloader.cxx')
|
TargetAdd('mayaloader'+VNUM+'_config_mayaloader.obj', opts=OPTS, input='config_mayaloader.cxx')
|
||||||
TargetAdd('libp3mayaloader'+VNUM+'.dll', input='mayaloader'+VNUM+'_config_mayaloader.obj')
|
TargetAdd('libp3mayaloader'+VNUM+'.dll', input='mayaloader'+VNUM+'_config_mayaloader.obj')
|
||||||
@ -5924,7 +5924,7 @@ for VER in MAYAVERSIONS:
|
|||||||
TargetAdd('libp3mayaloader'+VNUM+'.dll', input='libp3pandatoolbase.lib')
|
TargetAdd('libp3mayaloader'+VNUM+'.dll', input='libp3pandatoolbase.lib')
|
||||||
TargetAdd('libp3mayaloader'+VNUM+'.dll', input='libpandaegg.dll')
|
TargetAdd('libp3mayaloader'+VNUM+'.dll', input='libpandaegg.dll')
|
||||||
TargetAdd('libp3mayaloader'+VNUM+'.dll', input=COMMON_PANDA_LIBS)
|
TargetAdd('libp3mayaloader'+VNUM+'.dll', input=COMMON_PANDA_LIBS)
|
||||||
TargetAdd('libp3mayaloader'+VNUM+'.dll', opts=['ADVAPI']+VER_OPTS)
|
TargetAdd('libp3mayaloader'+VNUM+'.dll', opts=['ADVAPI', VER]+ARCH_OPTS)
|
||||||
|
|
||||||
TargetAdd('mayapview'+VNUM+'_mayaPview.obj', opts=OPTS, input='mayaPview.cxx')
|
TargetAdd('mayapview'+VNUM+'_mayaPview.obj', opts=OPTS, input='mayaPview.cxx')
|
||||||
TargetAdd('libmayapview'+VNUM+'.mll', input='mayapview'+VNUM+'_mayaPview.obj')
|
TargetAdd('libmayapview'+VNUM+'.mll', input='mayapview'+VNUM+'_mayaPview.obj')
|
||||||
@ -5935,7 +5935,7 @@ for VER in MAYAVERSIONS:
|
|||||||
TargetAdd('libmayapview'+VNUM+'.mll', input=COMMON_EGG2X_LIBS_PYSTUB)
|
TargetAdd('libmayapview'+VNUM+'.mll', input=COMMON_EGG2X_LIBS_PYSTUB)
|
||||||
else:
|
else:
|
||||||
TargetAdd('libmayapview'+VNUM+'.mll', input=COMMON_EGG2X_LIBS)
|
TargetAdd('libmayapview'+VNUM+'.mll', input=COMMON_EGG2X_LIBS)
|
||||||
TargetAdd('libmayapview'+VNUM+'.mll', opts=['ADVAPI']+VER_OPTS)
|
TargetAdd('libmayapview'+VNUM+'.mll', opts=['ADVAPI', VER]+ARCH_OPTS)
|
||||||
|
|
||||||
TargetAdd('maya2egg'+VNUM+'_mayaToEgg.obj', opts=OPTS, input='mayaToEgg.cxx')
|
TargetAdd('maya2egg'+VNUM+'_mayaToEgg.obj', opts=OPTS, input='mayaToEgg.cxx')
|
||||||
TargetAdd('maya2egg'+VNUM+'_bin.exe', input='maya2egg'+VNUM+'_mayaToEgg.obj')
|
TargetAdd('maya2egg'+VNUM+'_bin.exe', input='maya2egg'+VNUM+'_mayaToEgg.obj')
|
||||||
@ -5945,7 +5945,7 @@ for VER in MAYAVERSIONS:
|
|||||||
TargetAdd('maya2egg'+VNUM+'_bin.exe', input=COMMON_EGG2X_LIBS_PYSTUB)
|
TargetAdd('maya2egg'+VNUM+'_bin.exe', input=COMMON_EGG2X_LIBS_PYSTUB)
|
||||||
else:
|
else:
|
||||||
TargetAdd('maya2egg'+VNUM+'_bin.exe', input=COMMON_EGG2X_LIBS)
|
TargetAdd('maya2egg'+VNUM+'_bin.exe', input=COMMON_EGG2X_LIBS)
|
||||||
TargetAdd('maya2egg'+VNUM+'_bin.exe', opts=['ADVAPI']+VER_OPTS)
|
TargetAdd('maya2egg'+VNUM+'_bin.exe', opts=['ADVAPI', VER]+ARCH_OPTS)
|
||||||
|
|
||||||
TargetAdd('egg2maya'+VNUM+'_eggToMaya.obj', opts=OPTS, input='eggToMaya.cxx')
|
TargetAdd('egg2maya'+VNUM+'_eggToMaya.obj', opts=OPTS, input='eggToMaya.cxx')
|
||||||
TargetAdd('egg2maya'+VNUM+'_bin.exe', input='egg2maya'+VNUM+'_eggToMaya.obj')
|
TargetAdd('egg2maya'+VNUM+'_bin.exe', input='egg2maya'+VNUM+'_eggToMaya.obj')
|
||||||
@ -5955,7 +5955,7 @@ for VER in MAYAVERSIONS:
|
|||||||
TargetAdd('egg2maya'+VNUM+'_bin.exe', input=COMMON_EGG2X_LIBS_PYSTUB)
|
TargetAdd('egg2maya'+VNUM+'_bin.exe', input=COMMON_EGG2X_LIBS_PYSTUB)
|
||||||
else:
|
else:
|
||||||
TargetAdd('egg2maya'+VNUM+'_bin.exe', input=COMMON_EGG2X_LIBS)
|
TargetAdd('egg2maya'+VNUM+'_bin.exe', input=COMMON_EGG2X_LIBS)
|
||||||
TargetAdd('egg2maya'+VNUM+'_bin.exe', opts=['ADVAPI']+VER_OPTS)
|
TargetAdd('egg2maya'+VNUM+'_bin.exe', opts=['ADVAPI', VER]+ARCH_OPTS)
|
||||||
|
|
||||||
TargetAdd('mayacopy'+VNUM+'_mayaCopy.obj', opts=OPTS, input='mayaCopy.cxx')
|
TargetAdd('mayacopy'+VNUM+'_mayaCopy.obj', opts=OPTS, input='mayaCopy.cxx')
|
||||||
TargetAdd('mayacopy'+VNUM+'_bin.exe', input='mayacopy'+VNUM+'_mayaCopy.obj')
|
TargetAdd('mayacopy'+VNUM+'_bin.exe', input='mayacopy'+VNUM+'_mayaCopy.obj')
|
||||||
@ -5965,28 +5965,28 @@ for VER in MAYAVERSIONS:
|
|||||||
TargetAdd('mayacopy'+VNUM+'_bin.exe', input=COMMON_EGG2X_LIBS_PYSTUB)
|
TargetAdd('mayacopy'+VNUM+'_bin.exe', input=COMMON_EGG2X_LIBS_PYSTUB)
|
||||||
else:
|
else:
|
||||||
TargetAdd('mayacopy'+VNUM+'_bin.exe', input=COMMON_EGG2X_LIBS)
|
TargetAdd('mayacopy'+VNUM+'_bin.exe', input=COMMON_EGG2X_LIBS)
|
||||||
TargetAdd('mayacopy'+VNUM+'_bin.exe', opts=['ADVAPI']+VER_OPTS)
|
TargetAdd('mayacopy'+VNUM+'_bin.exe', opts=['ADVAPI', VER]+ARCH_OPTS)
|
||||||
|
|
||||||
TargetAdd('mayasavepview'+VNUM+'_mayaSavePview.obj', opts=OPTS, input='mayaSavePview.cxx')
|
TargetAdd('mayasavepview'+VNUM+'_mayaSavePview.obj', opts=OPTS, input='mayaSavePview.cxx')
|
||||||
TargetAdd('libmayasavepview'+VNUM+'.mll', input='mayasavepview'+VNUM+'_mayaSavePview.obj')
|
TargetAdd('libmayasavepview'+VNUM+'.mll', input='mayasavepview'+VNUM+'_mayaSavePview.obj')
|
||||||
TargetAdd('libmayasavepview'+VNUM+'.mll', opts=['ADVAPI']+VER_OPTS)
|
TargetAdd('libmayasavepview'+VNUM+'.mll', opts=['ADVAPI', VER]+ARCH_OPTS)
|
||||||
|
|
||||||
TargetAdd('mayapath'+VNUM+'.obj', opts=OPTS, input='mayapath.cxx')
|
TargetAdd('mayapath'+VNUM+'.obj', opts=OPTS, input='mayapath.cxx')
|
||||||
|
|
||||||
TargetAdd('maya2egg'+VNUM+'.exe', input='mayapath'+VNUM+'.obj')
|
TargetAdd('maya2egg'+VNUM+'.exe', input='mayapath'+VNUM+'.obj')
|
||||||
TargetAdd('maya2egg'+VNUM+'.exe', input='libpandaexpress.dll')
|
TargetAdd('maya2egg'+VNUM+'.exe', input='libpandaexpress.dll')
|
||||||
TargetAdd('maya2egg'+VNUM+'.exe', input=COMMON_DTOOL_LIBS)
|
TargetAdd('maya2egg'+VNUM+'.exe', input=COMMON_DTOOL_LIBS_PYSTUB)
|
||||||
TargetAdd('maya2egg'+VNUM+'.exe', opts=['ADVAPI']+VER_OPTS)
|
TargetAdd('maya2egg'+VNUM+'.exe', opts=['ADVAPI']+ARCH_OPTS)
|
||||||
|
|
||||||
TargetAdd('egg2maya'+VNUM+'.exe', input='mayapath'+VNUM+'.obj')
|
TargetAdd('egg2maya'+VNUM+'.exe', input='mayapath'+VNUM+'.obj')
|
||||||
TargetAdd('egg2maya'+VNUM+'.exe', input='libpandaexpress.dll')
|
TargetAdd('egg2maya'+VNUM+'.exe', input='libpandaexpress.dll')
|
||||||
TargetAdd('egg2maya'+VNUM+'.exe', input=COMMON_DTOOL_LIBS)
|
TargetAdd('egg2maya'+VNUM+'.exe', input=COMMON_DTOOL_LIBS_PYSTUB)
|
||||||
TargetAdd('egg2maya'+VNUM+'.exe', opts=['ADVAPI']+VER_OPTS)
|
TargetAdd('egg2maya'+VNUM+'.exe', opts=['ADVAPI']+ARCH_OPTS)
|
||||||
|
|
||||||
TargetAdd('mayacopy'+VNUM+'.exe', input='mayapath'+VNUM+'.obj')
|
TargetAdd('mayacopy'+VNUM+'.exe', input='mayapath'+VNUM+'.obj')
|
||||||
TargetAdd('mayacopy'+VNUM+'.exe', input='libpandaexpress.dll')
|
TargetAdd('mayacopy'+VNUM+'.exe', input='libpandaexpress.dll')
|
||||||
TargetAdd('mayacopy'+VNUM+'.exe', input=COMMON_DTOOL_LIBS)
|
TargetAdd('mayacopy'+VNUM+'.exe', input=COMMON_DTOOL_LIBS_PYSTUB)
|
||||||
TargetAdd('mayacopy'+VNUM+'.exe', opts=['ADVAPI']+VER_OPTS)
|
TargetAdd('mayacopy'+VNUM+'.exe', opts=['ADVAPI']+ARCH_OPTS)
|
||||||
|
|
||||||
#
|
#
|
||||||
# DIRECTORY: contrib/src/ai/
|
# DIRECTORY: contrib/src/ai/
|
||||||
|
@ -50,6 +50,10 @@
|
|||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_PYTHON
|
||||||
|
#include "pystub.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define QUOTESTR(x) #x
|
#define QUOTESTR(x) #x
|
||||||
#define TOSTRING(x) QUOTESTR(x)
|
#define TOSTRING(x) QUOTESTR(x)
|
||||||
|
|
||||||
@ -182,6 +186,11 @@ get_maya_location(const char *ver, string &loc) {
|
|||||||
|
|
||||||
int
|
int
|
||||||
main(int argc, char *argv[]) {
|
main(int argc, char *argv[]) {
|
||||||
|
#ifdef HAVE_PYTHON
|
||||||
|
// Force pystub to be linked in.
|
||||||
|
pystub();
|
||||||
|
#endif
|
||||||
|
|
||||||
// First, get the command line and append _bin, so we will actually
|
// First, get the command line and append _bin, so we will actually
|
||||||
// run maya2egg_bin.exe, egg2maya_bin.exe, etc.
|
// run maya2egg_bin.exe, egg2maya_bin.exe, etc.
|
||||||
Filename command = Filename::from_os_specific(argv[0]);
|
Filename command = Filename::from_os_specific(argv[0]);
|
||||||
@ -378,7 +387,11 @@ main(int argc, char *argv[]) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Also put the Maya bin directory on the PATH.
|
// Also put the Maya bin directory on the PATH.
|
||||||
|
#ifdef IS_OSX
|
||||||
|
Filename bin = Filename(maya_location, "MacOS");
|
||||||
|
#else
|
||||||
Filename bin = Filename(maya_location, "bin");
|
Filename bin = Filename(maya_location, "bin");
|
||||||
|
#endif
|
||||||
if (bin.is_directory()) {
|
if (bin.is_directory()) {
|
||||||
const char *path = getenv("PATH");
|
const char *path = getenv("PATH");
|
||||||
if (path == NULL) {
|
if (path == NULL) {
|
||||||
@ -402,6 +415,19 @@ main(int argc, char *argv[]) {
|
|||||||
putenv(putenv_cstr);
|
putenv(putenv_cstr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// We also have to give it a way to find the Maya frameworks.
|
||||||
|
Filename fw_dir = Filename(maya_location, "Frameworks");
|
||||||
|
if (fw_dir.is_directory()) {
|
||||||
|
const char *path = getenv("DYLD_FALLBACK_FRAMEWORK_PATH");
|
||||||
|
if (path == NULL) {
|
||||||
|
path = "";
|
||||||
|
}
|
||||||
|
string sep = ":";
|
||||||
|
string putenv_str = "DYLD_FALLBACK_FRAMEWORK_PATH=" + fw_dir.to_os_specific() + sep + path;
|
||||||
|
char *putenv_cstr = strdup(putenv_str.c_str());
|
||||||
|
putenv(putenv_cstr);
|
||||||
|
}
|
||||||
|
|
||||||
#elif !defined(_WIN32)
|
#elif !defined(_WIN32)
|
||||||
// Linux (or other non-Windows OS) gets it added to LD_LIBRARY_PATH.
|
// Linux (or other non-Windows OS) gets it added to LD_LIBRARY_PATH.
|
||||||
if (bin.is_directory()) {
|
if (bin.is_directory()) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user