Firefox nspr build experiment with the Meson build system

--001a11c32db2d2f1020504c595c3
Content-Type: text/plain; charset=UTF-8

Hello all

I'm working on creating a new build system called Meson (
https://jpakkane.github.io/meson/). To make sure it can handle the
requirements of real projects I take random open source projects (usually
large and complex) and rewrite their build systems in Meson.

For Firefox I tried to see how much effort it would take to configure and
build nspr including unit tests. After a few hours work I got it working on
64bit Linux. It took about 1000 lines of code (~750 of which go to defining
unit tests). Most unit tests even run successfully. :)

If you want to try it yourself, just get Meson and Mozilla from head and
then download and extract this file in your source tree:

https://dl.dropboxusercontent.com/u/37517477/mozilla-meson.tar.gz

To configure and build just do this:

mkdir buildmeson
/path/to/meson.py ..
ninja
ninja test (note that since some tests freeze it currently looks like
nothing is happening)

That's about it. This is obviously not in any way a replacement for the
current build system (which would be a huge task, yes I read the wiki :-)
but I hope you find it interesting, even if only from a curiosity point of
view.

Thanks,

--001a11c32db2d2f1020504c595c3
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div style=3D"font-family:arial,sans-serif;font-size:13px"=
>Hello all</div><div style=3D"font-family:arial,sans-serif;font-size:13px">=
<br></div><div style=3D"font-family:arial,sans-serif;font-size:13px">I&#39;=
m working on creating a new build system called Meson (<a href=3D"https://j=
pakkane.github.io/meson/" target=3D"_blank">https://jpakkane.github.io/meso=
n/</a>). To make sure it can handle the requirements of real projects I tak=
e random open source projects (usually large and complex) and rewrite their=
 build systems in Meson.</div><div style=3D"font-family:arial,sans-serif;fo=
nt-size:13px"><br></div><div style=3D"font-family:arial,sans-serif;font-siz=
e:13px">For Firefox I tried to see how much effort it would take to configu=
re and build nspr including unit tests. After a few hours work I got it wor=
king on 64bit Linux. It took about 1000 lines of code (~750 of which go to =
defining unit tests). Most unit tests even run successfully. :)</div><div s=
tyle=3D"font-family:arial,sans-serif;font-size:13px"><br></div><div style=
=3D"font-family:arial,sans-serif;font-size:13px">If you want to try it your=
self, just get Meson and Mozilla from head and then download and extract th=
is file in your source tree:</div><div style=3D"font-family:arial,sans-seri=
f;font-size:13px"><br></div><div style=3D"font-family:arial,sans-serif;font=
-size:13px"><a href=3D"https://dl.dropboxusercontent.com/u/37517477/mozilla=
-meson.tar.gz" target=3D"_blank">https://dl.dropboxusercontent.com/u/375174=
77/mozilla-meson.tar.gz</a><br></div><div style=3D"font-family:arial,sans-s=
erif;font-size:13px"><br></div><div style=3D"font-family:arial,sans-serif;f=
ont-size:13px">To configure and build just do this:</div><div style=3D"font=
-family:arial,sans-serif;font-size:13px"><br></div><div style=3D"font-famil=
y:arial,sans-serif;font-size:13px">mkdir buildmeson</div><div style=3D"font=
-family:arial,sans-serif;font-size:13px">/path/to/meson.py ..</div><div sty=
le=3D"font-family:arial,sans-serif;font-size:13px">ninja</div><div style=3D=
"font-family:arial,sans-serif;font-size:13px">ninja test (note that since s=
ome tests freeze it currently looks like nothing is happening)</div><div st=
yle=3D"font-family:arial,sans-serif;font-size:13px"><br></div><div style=3D=
"font-family:arial,sans-serif;font-size:13px">That&#39;s about it. This is =
obviously not in any way a replacement for the current build system (which =
would be a huge task, yes I read the wiki :-) but I hope you find it intere=
sting, even if only from a curiosity point of view.</div><div style=3D"font=
-family:arial,sans-serif;font-size:13px"><br></div><div style=3D"font-famil=
y:arial,sans-serif;font-size:13px">Thanks,</div></div>

--001a11c32db2d2f1020504c595c3--
0
Jussi
10/6/2014 6:52:32 PM
mozilla.dev.builds 1719 articles. 0 followers. Post Follow

0 Replies
540 Views

Similar Articles

[PageSpeed] 36

Reply:

Similar Artilces:

VS Builds, and Builds, and Builds
Hello, Has anyone else had this problem?  After a while of developing, and I go to compile, VS takes forever to build and I have to end-task it.  It's definitely after I've been working for a while, then it finally has "had it" and just takes forever to build.  It's annoying as I know its not the machine (2.8 GHZ processor and 1GB RAM).  Has anyone else experienced this problem?  By the way, I do have SP1 installed. Also, after minimizing and switching around screens, when it does this, the building icon in the status bar doesn't show.  And, for more informati...

superreview requested: [Bug 350211] Allow build-system addons part 2 & 3
romaxa <romaxa@gmail.com> has asked for superreview: Bug 350211: Allow build-system addons part 2 & 3 - $(MOZ_BUILD_APP)/build.mk https://bugzilla.mozilla.org/show_bug.cgi?id=350211 Attachment 236019: Bustage fix, missed nspr/build.mk Makefile.in https://bugzilla.mozilla.org/attachment.cgi?id=236019&action=edit ...

superreview cancelled: [Bug 350211] Allow build-system addons part 2 & 3
Benjamin Smedberg [:bs] (bsmedberg@) <benjamin@smedbergs.us> has cancelled romaxa <romaxa@gmail.com>'s request for superreview: Bug 350211: Allow build-system addons part 2 & 3 - $(MOZ_BUILD_APP)/build.mk https://bugzilla.mozilla.org/show_bug.cgi?id=350211 Attachment 236019: Bustage fix, missed nspr/build.mk Makefile.in https://bugzilla.mozilla.org/attachment.cgi?id=236019&action=edit ...

superreview requested: [Bug 350211] Allow build-system addons part 2 & 3
romaxa <romaxa@gmail.com> has asked for superreview: Bug 350211: Allow build-system addons part 2 & 3 - $(MOZ_BUILD_APP)/build.mk https://bugzilla.mozilla.org/show_bug.cgi?id=350211 Attachment 236019: Bustage fix, missed nspr/build.mk Makefile.in https://bugzilla.mozilla.org/attachment.cgi?id=236019&action=edit ...

[Gaia] data/config files for build system will be moved from build/ to build/config
Hi folks, there are more and more data/config files which is using on gaia build system, so I will move them from build/ to build/config/ if you use below files please move your files from build/ to build/config/: * build/apps-*.list * build/custom-extensions.json * build/custom-prefs.js * build/custom-settings.json * build/additional-extensions.json * build/custom-prefs.js * build/gps-prefs.js * build/payment-prefs.js * build/dogfood-prefs.js * build/communications_services.json * build/wallpaper*.jpg I will merge the pull request on Monday (1/6). https://bugzilla.mozill...

[Gaia] data/config files for build system will be moved from build/ to build/config
Hi folks, there are more and more data/config files which is using on gaia build system, so I will move them from build/ to build/config/ if you use below files please move your files from build/ to build/config/: * build/apps-*.list * build/custom-extensions.json * build/custom-prefs.js * build/custom-settings.json * build/additional-extensions.json * build/custom-prefs.js * build/gps-prefs.js * build/payment-prefs.js * build/dogfood-prefs.js * build/communications_services.json * build/wallpaper*.jpg I will merge the pull request on Monday (1/6). https://bugzilla.mozill...

To build or not to build, that is the question
Hello, ever since I found out that VS.NET could upload all of your pages for you, I have used that method for uploading. However when using the Copy Project option, it seems to restart the aspnet service and the sessions clear. What I'm asking is when is it OK just to manually copy/paste some pages into the website directory w/out actually re-building the site? Right now, I have to wait until there are no users logged into my site to do updates, which are very minor, but include code-behind changes. Can I just upload the updated pages w/out building?In this world there are 10 types of pe...

Dev Builds of Java SE 7 Plug-ins Not Working In Firefox 3.6a1pre builds
Dev Builds of Java SE 7 Plug-ins have not been working for over a couple of weeks now. I'm using Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2a1pre) Gecko/20090630 Minefield/3.6a1pre on Windows XP SP3. I'm not sure if I should file a bug with Mozilla or Sun. I know that Mozilla has been making changes under the hood with regards to how Firefox deal with java plug-ins and what not. The plug-in's list in the add-on's window suggests that it is working fine, but when I try to play java games that use the plug-in, it doesn't recognize that I have java ...

How can I build a static build for firefox 3
Hi, I am trying to build a static build for firefox 3 on ubuntu. I was able to build firefox 3 non-static build okay. But as I enable these options in my .mozconfig, ac_add_options --enable-static ac_add_options --disable-shared I get these errors: c++ -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith - Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual- dtor -Wcast-align -Wno-long-long -pedantic -fno-strict-aliasing - fshort-wchar -pthread -pipe -DDEBUG -D_DEBUG -DDEBUG_scheung - DTRACING -g -fno-inline -Os -freorder-blocks -fno-reorder-functi...

Build system
--bcaec5196bdd2606d70507b51cf5 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi folks, There are two build system features have been landed which are rebuild(bug 969215 <https://bugzilla.mozilla.org/show_bug.cgi?id=3D969215>) and paralle= l build (bug 1070442 <https://bugzilla.mozilla.org/show_bug.cgi?id=3D1070442>= ). Rebuild has been introduced last week. It is not a novel feature, but very useful in nowadays make tool and let us just rebuild modified targets instead of all. After modifying your app, we are going to rebuild y...

superreview requested: [Bug 299404] Can't build dmg of Firefox debug build on Mac : [Attachment 187976] Put DeerPark debug builds in DeerParkDebug.app
Mark Mentovai <mark@moxienet.com> has asked Simon Fraser <sfraser_bugs@smfr.org> for superreview: Bug 299404: Can't build dmg of Firefox debug build on Mac https://bugzilla.mozilla.org/show_bug.cgi?id=299404 Attachment 187976: Put DeerPark debug builds in DeerParkDebug.app https://bugzilla.mozilla.org/attachment.cgi?id=187976&action=edit ...

superreview cancelled: [Bug 299404] Can't build dmg of Firefox debug build on Mac : [Attachment 187976] Put DeerPark debug builds in DeerParkDebug.app
Mark Mentovai <mark@moxienet.com> has cancelled Mark Mentovai <mark@moxienet.com>'s request for superreview: Bug 299404: Can't build dmg of Firefox debug build on Mac https://bugzilla.mozilla.org/show_bug.cgi?id=299404 Attachment 187976: Put DeerPark debug builds in DeerParkDebug.app https://bugzilla.mozilla.org/attachment.cgi?id=187976&action=edit ...

what must be done to build with python-build-based-system?
Hi. I had pulled from mercurial the mozilla2 source code and compiled it with no much problems. Now I have to port a c++ xpcom module that i wrote and built within "a mozilla 1.x tree" into the "mozilla 2.0 tree". As far as I know the new build system uses python, but I can't tell how it impacts in the 'third developer code' at the building script level. I am not sure if the new system only uses python internaly or the moz-1.0 makefile.in must be written in a new way for 'python use/compatibility'. Thanks for the help. -- Mariano O...

Build error while trying to build debug desktop build on MacOs10.9.5
While trying to build Firefox desktop debug on MacOs10.9.5, I get this build error: 13:28.99 host_arm_ex_to_module.o 13:29.60 host_dwarf_cfi_to_module.o 13:29.70 /Users/mwargers/mozilla-central/security/pkix/test/gtest/pkixnames_tests.cpp:1077:22: error: unused variable 'ipv4_other_addr_str' [-Werror,-Wunused-const-variable] 13:29.70 static const uint8_t ipv4_other_addr_str[] = "5.6.7.8"; 13:29.70 ^ 13:29.70 /Users/mwargers/mozilla-central/security/pkix/test/gtest/pkixnames_tests.cpp:1153:22: error: unused variable 'ipv4_constraint_truncat...

Web resources about - Firefox nspr build experiment with the Meson build system - mozilla.dev.builds

Experiment - Wikipedia, the free encyclopedia
An experiment is an orderly procedure carried out with the goal of verifying, refuting, or establishing the validity of a hypothesis . Controlled ...

Experiment - Wikipedia, the free encyclopedia
An experiment is an orderly procedure carried out with the goal of verifying, refuting, or establishing the validity of a hypothesis . Controlled ...

Welfare experiment may have applications in Australia
A trial in Finland providing an obligation-free basic income could change how we think about welfare.

Ancient Tree Archive: Environmentalists scale 2,000 year-old, nine-storey cypress in experiment to regrow ...
Environmentalists plan to use cuttings from 2,000-year-old cypress as part of efforts to regrow forests made from the world's oldest trees.

Beyond Plastic: Credit Card Companies Experiment With Rings, Watches as New Ways to Pay
Paying with plastic is so last season. In recent months, credit card companies such as MasterCard and Visa have introduced alternative methods ...

Slightly creepy experiment with ants shows that drugs can permanently alter behavior
... system works. Eventually, Simola and his colleagues found just a few enzymes that regulated the behavior of those genes. After several experiments ...

Facebook needs to stop treating its users like pawns in creepy psych experiments
Facebook certainly likes to tinker. You might even say it's in the company's DNA. And with over 1 billion registered users across the globe, ...

Hong Kong McDonald's pilots "an experiment in non-design"
Concrete tables and atmospheric lighting feature inside this Hong Kong McDonald's, designed by Landini Associates to offer a more comfortable ...

A new thought experiment shows how we could get information from a black hole
Physicists think they've come up with a way to learn a bit about the interior of a black hole an impossible procedure that shows the insanity ...

How Fox's "The Martian VR Experience" Became Hollywood's Most Ambitious VR Experiment
Much more than marketing, the experience lets users feel what it's like to survive on Mars, just like Mark Watney. Yes, there are potatoes. ...

Resources last updated: 1/9/2016 2:13:24 AM