I also found it possible to use make on Mac as well. You just need to do 'export GYP_GENERATORS=make' in order to get makefiles instead of Xcode projects.
On Thu, Aug 25, 2011 at 10:04, Jakob Kummerow <[email protected]> wrote: > Yeah, well, it seems I underestimated the need for an official > announcement... in part, that's due to things not being quite ready yet for > an official announcement. > It's correct that building with SCons is deprecated. That means: Don't put > any effort into improving the SCons build. Try building with gyp/make, see > if it works for you, report what doesn't work. There are a couple of known > limitations currently; I'm working on them as time permits. If/when the gyp > build fails you, feel free to continue using SCons for now. (Rough estimate > for when the SCons build will disappear: some time during Q4. Don't worry, > there'll be plenty of advance warning, and enough time to iron out any > issues with the gyp build.) > The reason for this change is that maintaining two build systems is an > unnecessary burden and unavoidably leads to bugs stemming from changes being > applied to the one but not the other. We need gyp anyway for Chromium, so we > want to get rid of SCons. The other reason is that make is considerably > faster than SCons, especially for incremental builds, and it allows things > like distcc. > Short how-to for the brave (expect more detailed, official instructions to > follow shortly): > > get GYP: svn co http://gyp.googlecode.com/svn/trunk build/gyp > (see also build/README.txt, especially for additional instructions for > Windows) > as a long-term solution, we'll probably put a copy of gyp into our own repo, > so this step will be obsolete > if you're on Linux, you can use our new global Makefile as a wrapper for the > gyp build: just call "make <target> -j<X>", where <X> is the number of > parallel jobs, and <target> is one of "ia32", "ia32.debug", "ia32.release", > or similar for x64 or arm, or just "release" or "debug" for all > architectures, or with ".check" appended to also run tests (number of > parallel test jobs needs to be specified separately with TESTJOBS=-jX, > default is X=16). When no target is specified, everything will be built (but > no tests will be run). Output will be in ./out/<arch>.<mode>/, the "out/" > part of that path can be redirected with OUTDIR=<whatever>. > You can also use the Makefile as an inspiration for how you can use/wrap the > gyp build in your own projects. > There's no comfortable interface for passing non-default build parameters > yet, but you can use GYPFLAGS="-Dvariable=value > -Dother_variable=other_value" to set gyp variables directly. As Yang wrote, > you need to set component=shared_library for the shared lib build. I'll > probably add scons-style flags soon-ish, so that you can write "make -j10 > library=shared" or something like that. > All mentioned parameters (OUTDIR, TESTJOBS, GYPFLAGS) can be set either as a > shell environment variable, or as a make parameter, i.e. the following three > are completely equivalent: > > export OUTDIR=my_outdir > make ia32 > OUTDIR=my_outdir make ia32 > make ia32 OUTDIR=my_outdir > > On Mac and Windows, use build/gyp_v8 to generate XCode or Visual Studio > project files, respectively. This workflow is, as of now, unchanged. For > details, see build/README.txt. > > Note that the shared library build is currently broken for x64. It's on my > list to fix that. > If you want to help: > - test the gyp based build > - report anything that doesn't work > - tell me which non-default flags you'd like to be able to pass in (SCons > provides a huge number of flags, I have a suspicion that at least some of > them aren't used by anyone anymore) > > On Thu, Aug 25, 2011 at 09:37, Yang Guo <[email protected]> wrote: >> >> As far as I can see, not all features of the current scons build has >> been fully ported to gyp yet, including the option to build with >> shared library. I assume though, that this will incrementally be >> implemented in the near future. >> >> For now however, what you can do is a little bit less straight- >> forward, for example >> make -j8 GYPFLAGS="-Dcomponent=shared_library" ia32.release >> >> You will then find the shared library file (libv8.so) in out/ >> ia32.release/lib.target/ >> >> I hope this helped :) >> >> -- Yang >> >> On Aug 25, 8:40 am, Stephan Beal <[email protected]> wrote: >> > On Wed, Aug 24, 2011 at 11:53 PM, Paweł Hajdan, Jr. >> > <[email protected] >> > >> > > wrote: >> > > I think that the .gyp file is expected to be used only as a part of >> > > the >> > > Chrome build process. >> > >> > A couple days ago one of the devs posted on this list that the v8 scons >> > build is deprecated and that will have to use gyp in the future. >> > >> > -- >> > ----- stephan bealhttp://wanderinghorse.net/home/stephan/ >> >> -- >> v8-users mailing list >> [email protected] >> http://groups.google.com/group/v8-users > > -- > v8-users mailing list > [email protected] > http://groups.google.com/group/v8-users -- v8-users mailing list [email protected] http://groups.google.com/group/v8-users
