-
Notifications
You must be signed in to change notification settings - Fork 379
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
Build script for Linux (waf) #6
Conversation
Building on Linux will now be simple. Issue $ CXXFLAGS='<crazy optimization flags you want>' ./waf configure $ ./waf $ sudo ./waf install $ sudo ldconfig to build and install DSPFilters. Alternatively, use $ ./waf configure --build-demo to also build DSPFiltersDemo. Note that building DSPFilters should be possible on any system, but DSPFiltersDemo only gets configured to use POSIX libraries, X11 and ALSA. Consequenty, building on BSD/UNIX/Linux should work, but on other platforms, there may be some problems. Tested on ArchLinux (with Python 3).
Great!!! I actually was hoping for some help with putting together an X11 build. OS X already has an XCode project, which is fine. Having dependencies on X11 and ALSA (or whatever other audio API is out there) is fine. I'm wondering though, why does it require so much Python code to build DSPFilters in that environment? It should be possible to just gcc all the .cpp files together (with the appropriate include directories added to the command line switches), specify a couple of extra libraries to link in, and get an executable. I don't develop on GNU/Linux so I'm in the dark on this. I do, however, have a VirtualBox with Ubuntu on it that I can use. It would be nice to have a simple Makefile |
Build script for Linux (waf)
Having a simple Makefile is indedd possible, however, Python is rather ubiquitous in the Linux world, so depending on it isn't really more contstraining than depending on, for example, make. Make is a rather "bare" tool, in a sense that a it is usually used together with autoconf/automake to simplify things like writing a configuration header, finding out what exact CXXFLAGS and LDFLAGS are required (libraries may live in different places in different distributions, different compilers may have different ways of passing options, etc.) and installing the resulting binaries. But I find autotools confusing, and I quite like waf, so I chose that as a build automation framework. The list of dependecies I put in the script comes from a Makefile I found in the JUCE repository. There may be some unneeded ones, but all of them is a standard piece in most desktop Linux. |
UGH I hate autotools / autoconf / automake / autoanything. Well, as On Wed, Apr 4, 2012 at 9:23 AM, Kristóf Marussy
|
Build script for Linux (waf)
I wrote a waf (Python) build script for building DSPFilters.
Building the library should be possible on any system, but currently, dependecy checks for JUCE are only implemented for POSIX libraries, X11 and ALSA. Thus it should also build fine on any POSIX system which uses X11 for graphical user interface; I think that's most of them with the notable exception of OS X.
By passing the --build-demo switch to ./waf configure, DSPFiltersDemo will be built. Otherwise, only DSPFilters will be built.
Tested on ArchLinux (with Python 3).