Closed Bug 506954 Opened 15 years ago Closed 15 years ago

Change Cross Platform Build to use zlib in repo (other-licenses/zlib)

Categories

(Tamarin Graveyard :: Build Config, defect)

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: brbaker, Assigned: brbaker)

Details

Attachments

(2 files, 3 obsolete files)

The x-platform builds should compile the zlib library from the checked in source and link against it when building the shell.

Currently the x-platform builds link against the system zlib on mac and linux, and on windows you must compile the zlib source outside of the script and then specify its location using:

--enable-zlib-include-dir=../other-licenses/zlib/src --enable-zlib-lib=../other-licenses/zlib/zlib.lib
Flags: flashplayer-triage+
Attached patch First pass, needs help (obsolete) — Splinter Review
I have taken this about as far as I can at the moment. I am sure there is something really simple that I am missing in order to ACTUALLY get the zlib code to be compiled. I have taken a look at the make database and it does have all of the information for compiling the zlib source but I do not understand why it is never called.

If anyone with a little make wisdom could take a peak at this patch to get me back on track it would be appreciated.

I have only tried this on windows:
>$ ../configure.py --enable-shell
>$ make

I see everything get compiled and see that the zlib.thing.pp is generated properly, but I never see the zlib source compiled.
Missed the zlib manifest.mk in the first patch
Attachment #391125 - Attachment is obsolete: true
Comment on attachment 391144 [details] [diff] [review]
First pass, needs help, with manifest

Benjamin I was wondering if you had a second to take a look at this patch. I am trying to get the other-licenses/zlib/ C code to compile, but I am unable to get it to match/call the targets. These make files are a little over my head and I know that you were the one who originally created them. Any pointers in the right direction would be very much appreciated.
Attachment #391144 - Flags: review?(benjamin)
Brent, what repo is this patch against?
Sorry, this is against tamarin-redux. I was just wondering if you had some pointers on what I am missing.
Let me try to apply and see if I can discover something.
I see the following problems:

1) You're using CXX to compile C programs. You need CC instead (and configure.py logic to detect the proper C compiler)
2) You're using II_SUFFIX, which tells the compiler you're feeding it preprocessed C++ sources, not preprocessed C sources
3) the rules which create a static library or shared library don't have any COBJS dependencies, so you're actually creating an empty library.

I have a kinda-patch coming up, though it doesn't do any compiler detection for CC
Attached patch Additional fixes (obsolete) — Splinter Review
Applying this and then doing

make CC=gcc I_SUFFIX=.i

got me a correct build... if you really want a zlib DLL instead of a static lib you'll need to hack at the DLL_RULES section of config.mk to add some more COBJS dependencies where you see CXXOBJS currently.
Attachment #391144 - Flags: review?(benjamin)
Thanks for the updates, I have a couple more tweaks but it is working. THANKS!!!
This patch has been tested in the sandbox and has also been manually tested on solaris.

With this change ALL platforms when compiling using the x-platform scripts will use the zlib code in other-licenses/zlib instead of linking against the system z.lib

The only piece that I am not 100% confident about is the need to set "-DHAVE_VSNPRINTF" in the zlib.manifest when compiling debug builds on windows.
Attachment #391144 - Attachment is obsolete: true
Attachment #391346 - Attachment is obsolete: true
Windows no longer needs to pass in information about where a precompiled zlib is located.
Attachment #392485 - Flags: review?(dschaffe)
Attachment #392484 - Flags: review?(treilly)
Attachment #392484 - Flags: review?(treilly) → review+
Attachment #392485 - Flags: review?(dschaffe) → review+
changes pushed to redux: 2371:cc952324601c and 2372:393a3d010772
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Fixed code coverage build scripts in changeset 2397:1bb4289b1149
all of the builders in the build system are compiling the zlib source in tamarin-redux/other-licenses/zlib
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: