Hi,
I sent this patch:
dev.gentoo.org/~chriswhite/panda … anda.patch
to the email address listed in LICENSE as per reqeuest, but I’m including it here for consistancy.
This patch basically addresses the problem of lib/lib64 on 64 bit architecture by allowing to override the lib directory. I applied the patch and and tested it out. It works ok from what I can tell.
Also, it allows the user to ovverride the basic CFLAGS/CXXFLAGS used during the compilation. This helps address the need for abi specific compilation, as well as being able to add -fPIC in for certain architectures that require it (see the amd64 compilation thread for more details on that). The current code simply pulls from the environment variables CFLAGS and CXXFLAGS if they exist. If they don’t, it uses the default. This let’s more advanced users have control over the process. I also created a OPTIMIZE = 0 situation in the case that compile flags have optimizations in them and don’t want to collide.
One more thing I’m sort of confused on is the thirdparty directory. Let me explain (some lines removed for readability):
chris@localhost ~/panda3d-1.0.4/thirdparty/linux-libs-a $ ls -R1
.:
fftw
fmod
nspr
nvidiacg
vrpn
./fftw/lib:
libfftw.a
librfftw.a
Where did rfftw come from? I’ve been trying to find out so I can use my own libs that I compiled from fftw, but I seem to be unable to find out what enables this.
./fmod/lib:
libfmod-3.74.so
Having this as version specific seems problematic. What’s wrong with just a simple -lfmod style link?
./nspr/lib:
libpandanspr4.so
libpandaplc4.so
libpandaplds4.so
Are this panda specific libraries? I know there’s an nspr library already installed on my system. However judging from the naming, it doesn’t look like I can replace them with my own libs.
Also, how were these compiled. For i386? If so it seems that simply copying over the libs would be the only choice, and in that case nspr wouldn’t work unless they weren’t “special libs” (which is what they appear to be).
Let me know if anything I said doesn’t make sense here, and thanks ahead of time.