mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
0de32889f0
3 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
Jim Blandy
|
a04892f62e |
Bug 465640: Use autoconf to declare stdint types on platforms that don't have stdint.h r=bsmedberg
At configure time, check for <stdint.h>. If we don't have it, find integer types of various sizes. On Windows, where we can't run compilation tests in configure, hard-code definitions suggesting the use of the built-in __intN types for the exact-size types, and <stddef.h> for the pointer-sized types. Use namespace-clean names for the preprocessor macros we define. Since these types are used in the public JavaScript API, the configure script needs to place the definitions it finds in js-config.h, the installed configure-generated header, so it can be used by jsapi.h and that gang. New header js/src/jsstdint.h does what it takes to get definitions for the exact-size and pointer-size integral types. It includes <stdint.h> when available, uses the types found by configure.in to define the {,u}int{8,16,32,64,ptr}_t types itself, or uses the __intN types and the <stddef.h> header. Remove now-unnecessary and possibly conflicting definitions of intN_t types from js/src/nanojit/avmplus.h. |
||
Jim Blandy
|
e9a790f333 | Bug 462356 - Build fails on mac in js/src/configure.in with error: Library requirements (glib-2.0 >= 1.3.7 gobject-2.0) not met; glib part; r=ted.mielczarek | ||
Jim Blandy
|
f83d8c9ea3 |
Bug 97954: Allow SpiderMonkey to be built on its own, or as part of Mozilla.
Give SpiderMonkey its own configure script and top-level Makefile. Adjust js/src/Makefile as appropriate for life as a stand-alone makefile, instead of a 'make export; make libs'-style Mozilla tier makefile. Have the configure script accept '--with-nspr-cflags' and '--with-nspr-libs' options for using an in-tree NSPR. Also accept '--with-system-nspr', '--with-nspr-prefix', and '--with-nspr-exec-prefix' flags for using an installed NSPR. Default to --disable-jemalloc, assuming we don't have that part of the tree available; have the top-level configure script pass --enable-jemalloc as needed. Since we no longer have an export phase to copy header files into dist/include/js before we build the library, we need to be able to find nanojit.h in the nanojit directory; fix references in jsbuiltins.h and jstracer.cpp. Give SpiderMonkey it its own copies of many of the files from ./config and ./build. These are all exact copies, except as follows: . js/src/config/Makefile.in: js/src only has a subset of js/src/config, and thus a subset of the makefile targets. . js/src/config/autoconf.mk.in: js/src/configure.in has its own make variables to set, not set by the top-level configure script, so it needs a custom automake.mk template. . js/src/config/make-system-wrappers.pl: a copy from nsprpub/config, so that we can build without having an NSPR source tree handy. Invoke js/src/configure from ./configure, passing the values computed for NSPR_CFLAGS and NSPR_LIBS by the top-level configure script. Treat js/src as a static directory of the js tier, and create a new config/js (just a Makefile) to be the js tier's non-static directory. Let js/src/configure generate SpiderMonkey's makefiles, not ./configure. Generate a 'js-config' script, which clients can call to find the CFLAGS and LIBS values necessary to compile and link against an installed SpiderMonkey library. Don't include the js-config script in Macintosh packages. Teach client.mk how to rebuild js/src/configure. Tell Mercurial to ignore files generated by autoconf in js/src. Further work: . Right now, callers must define JS_THREADSAFE when #including jsapi.h. This is fixed in a subsequent patch. . js/src/configure is a trimmed copy of ./configure. It could be trimmed more. --HG-- rename : build/autoconf/acoutput-fast.pl => js/src/build/autoconf/acoutput-fast.pl rename : build/autoconf/altoptions.m4 => js/src/build/autoconf/altoptions.m4 rename : build/autoconf/config.guess => js/src/build/autoconf/config.guess rename : build/autoconf/config.sub => js/src/build/autoconf/config.sub rename : build/autoconf/glib.m4 => js/src/build/autoconf/glib.m4 rename : build/autoconf/install-sh => js/src/build/autoconf/install-sh rename : build/autoconf/make-makefile => js/src/build/autoconf/make-makefile rename : build/autoconf/match-dir.sh => js/src/build/autoconf/match-dir.sh rename : build/autoconf/nspr.m4 => js/src/build/autoconf/nspr.m4 rename : build/autoconf/pkg.m4 => js/src/build/autoconf/pkg.m4 rename : build/autoconf/update-makefile.sh => js/src/build/autoconf/update-makefile.sh rename : build/cygwin-wrapper => js/src/build/cygwin-wrapper rename : build/hcc => js/src/build/hcc rename : build/hcpp => js/src/build/hcpp rename : build/unix/mddepend.pl => js/src/build/unix/mddepend.pl rename : build/unix/uniq.pl => js/src/build/unix/uniq.pl rename : config/Makefile.in => js/src/config/Makefile.in rename : config/Moz/Milestone.pm => js/src/config/Moz/Milestone.pm rename : config/autoconf.mk.in => js/src/config/autoconf.mk.in rename : config/config.mk => js/src/config/config.mk rename : config/elf-dynstr-gc.c => js/src/config/elf-dynstr-gc.c rename : config/fastcwd.pl => js/src/config/fastcwd.pl rename : config/gcc_hidden.h => js/src/config/gcc_hidden.h rename : config/insure.mk => js/src/config/insure.mk rename : nsprpub/config/make-system-wrappers.pl => js/src/config/make-system-wrappers.pl rename : config/milestone.pl => js/src/config/milestone.pl rename : config/milestone.txt => js/src/config/milestone.txt rename : config/mkdepend/Makefile.in => js/src/config/mkdepend/Makefile.in rename : config/mkdepend/cppsetup.c => js/src/config/mkdepend/cppsetup.c rename : config/mkdepend/def.h => js/src/config/mkdepend/def.h rename : config/mkdepend/ifparser.c => js/src/config/mkdepend/ifparser.c rename : config/mkdepend/ifparser.h => js/src/config/mkdepend/ifparser.h rename : config/mkdepend/imakemdep.h => js/src/config/mkdepend/imakemdep.h rename : config/mkdepend/include.c => js/src/config/mkdepend/include.c rename : config/mkdepend/main.c => js/src/config/mkdepend/main.c rename : config/mkdepend/mkdepend.man => js/src/config/mkdepend/mkdepend.man rename : config/mkdepend/parse.c => js/src/config/mkdepend/parse.c rename : config/mkdepend/pr.c => js/src/config/mkdepend/pr.c rename : config/nfspwd.pl => js/src/config/nfspwd.pl rename : config/nsinstall.c => js/src/config/nsinstall.c rename : config/nsinstall.py => js/src/config/nsinstall.py rename : config/pathsub.c => js/src/config/pathsub.c rename : config/pathsub.h => js/src/config/pathsub.h rename : config/preprocessor.pl => js/src/config/preprocessor.pl rename : config/revdepth-nt.pl => js/src/config/revdepth-nt.pl rename : config/revdepth.pl => js/src/config/revdepth.pl rename : config/rules.mk => js/src/config/rules.mk rename : config/system-headers => js/src/config/system-headers rename : config/version.mk => js/src/config/version.mk rename : config/version_win.pl => js/src/config/version_win.pl rename : configure.in => js/src/configure.in |