New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
merge configure/Makefile files #110
Comments
|
I agree that we should merge the two configure files into one script, but I'm not sold on the need to generate two separate Makefiles. The default way to build stuff from source is configure, But if I'm understanding your use case correctly (I guess that the file is an RPM build script or some such?), you want a simple way to build NQP/Parrot and NQP/JVM and get them installed with different names. Is that right? |
With the current set-up, there are already two Makefiles, they are both named
I can and did handle a lot of build weirdness with other software, but nqp's current build system exposes a limitation in how a specfile works, namely that the prep/configure, build, check/test, install steps are each called once and one cannot jump back. Thus, it's not possible to build like the nqp developers expect. However, it is easy to kick off the two chains in parallel stages (see patches above), but as the nqp build system reuses intermediate build artifact names, there's a lot of unnecessary recompilation taking place. So I must qualify simple. It means that both targets must be possible from one build, e.g.:
Yes, installed files must not have the same fully qualified name. |
|
Note that the intermediate build artifacts aren't currently interchangable across builds (even for the same backend); so it's not really "unnecessary recompilation". At least I think that's what you're referring to here. Pm |
|
Aye, though I can easily see how somebody who doesn't understand how bootstrapping stuff works (which is probably the common case :-)) could watch the build output and conclude that there is "unnecessary recompilation" going on. It's the way it is for (good) reasons, though. |
|
More generally, we'll also need to work out what we want packaging of Rakudo and NQP to look like now we have different backends. One package for all the backends feels very wrong - you should be able to say "oh, just Rakudo on JVM" without it going and wanting to install the dependencies for 3 other backends you don't want. At the same time, we need some way to have multiple installed side by side without them all trying to stomp on one name. On the third hand, we'd probably like /usr/bin/perl6 to point to a default; most people only need one backend, but which they care for will vary. |
|
|
|
Lars, Thanks, On Thu, Oct 10, 2013 at 2:39 PM, Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯
Sent by the Internet Login to LinkedIn to see my whole profile and Connect |
|
Yes, several binary packages. No, one build. |
|
@jnthn @pmichaud, it sounds like putting the different builds in different On Thu, Oct 10, 2013 at 3:33 PM, Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯
Sent by the Internet Login to LinkedIn to see my whole profile and Connect |
|
Yes, we can likely do separate per-vm build directories. The final destination directories for install(s) should be up to the packagers, of course. Pm |
|
@daxim does that work for you? Is it okay to leave the 3 different (see the Thanks On Thu, Oct 10, 2013 at 5:05 PM, Patrick R. Michaud <
Sent by the Internet Login to LinkedIn to see my whole profile and Connect |
|
If the build can run in stages, then it's okay. |
|
Now there's only one Configure.pl left, which (when called with right options) can generate a Makefile that can build and install NQP for each backend, all in the same build directory. You can build them separately with |
I have to jump through a number of hoops to get all targets built, see the calls to perl in the specfile below. Make it easier for packagers by combining the configure/Makefile, and taking care that the nqp binaries have different names.
The text was updated successfully, but these errors were encountered: