| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443 |
- README.Unix.txt - 2010-11-14 - Building FLTK on Unix
- -----------------------------------------------------
- CONTENTS
- ==========
- 1 INTRODUCTION
- 2 PREREQUISITES
- 2.1 Ubuntu 10
- 2.2 Linux Mint 9
- 2.3 Fedora 13
- 2.4 * http://www2.mandriva.com/
- 2.5 * http://www.opensuse.org/en/
- 2.6 * http://www.debian.org/
- 2.7 * Mandrake?
- 2.8 SunOS / Solaris
- 2.9 * SGI?
- 2.10 HP-UX
- 2.11 AIX
- 2.12 NetBSD
- 3 HOW TO BUILD FLTK USING GCC
- 3.1 Prerequisites
- 3.2 Downloading and Unpacking
- 3.3 Configuring FLTK
- 3.4 Building FLTK
- 3.5 Testing FLTK
- 3.6 Installing FLTK
- 3.7 Creating new Projects
- 4 CREATING A NEW PROJECT IN CODE::BLOCKS
- 5 DOCUMENT HISTORY
- * TODO: we still need to write these chapters
- 1 INTRODUCTION
- =================
- FLTK currently supports the following development environments on vmost Unix
- platforms:
- - gcc command line tools
- - Code::Blocks
- - ...
-
- The Symbol font and the Zapf Dingbats font do not work on X11. This is correct
- behavior for UTF-8 platforms.
- 2 PREREQUISITES
- ==================
- 2.1 Ubuntu 10
- ----------------
- Ubuntu Linux can be downloaded here:
- http://www.ubuntu.com/
-
- If you have not done so yet, download and install Ubuntu.
- Open a shell and install some software:
- sudo apt-get install g++
- sudo apt-get install gdb
- sudo apt-get install subversion
- sudo apt-get install autoconf
- sudo apt-get install libx11-dev
- sudo apt-get install libglu1-mesa-dev
-
- These two are optional, but highly recommended:
-
- sudo apt-get install libasound2-dev
- sudo apt-get install libxft-dev
- If you are planning to use the Code::Blocks IDE, also install this
- sudo apt-get install codeblocks
- I like to use subversion to install the latest FLTK-1.3.release:
- svn co http://seriss.com/public/fltk/fltk/branches/branch-1.3/ fltk-1.3
-
- To update to the latest version, just go into the fltk-1.3 directory and type
- svn update
- 2.2 Linux Mint 9
- -------------------
- Linux Mint 9 can be downloaded here:
- http://www.linuxmint.com/
-
- If you have not done so yet, download and install Linux Mint.
- Open a shell and install some software:
- sudo apt-get install g++
- sudo apt-get install gdb
- sudo apt-get install subversion
- sudo apt-get install autoconf
- sudo apt-get install libx11-dev
- sudo apt-get install libglu1-mesa-dev
-
- These two are optional, but highly recommended:
-
- sudo apt-get install libasound2-dev
- sudo apt-get install libxft-dev
- If you are planning to use the Code::Blocks IDE, also install this
- sudo apt-get install codeblocks
- I like to use subversion to install the latest FLTK-1.3.release:
- svn co http://seriss.com/public/fltk/fltk/branches/branch-1.3/ fltk-1.3
-
- To update to the latest version, just go into the fltk-1.3 directory and type
- svn update
- FIXME: no FL_SYMBOL font (-*-symbol-*), font 15 (Zapf-Dingbats)
- 2.3 Fedora 13
- -------------------
- Fedora 13 Linux can be downloaded here:
- http://fedoraproject.org/
-
- If you have not done so yet, download and install Fedora.
- Open a terminal window and install some software. In Fedora, the default user
- has no permission to call "sudo", so we will change user a few times:
- su root
- yum groupinstall "Development Tools"
- yum groupinstall "X Software Development"
- If you are planning to use the Code::Blocks IDE, also install this
- yum install codeblocks.i686 (for 64 bit machines)
- Don't forget to leave root status (Ctrl-D) before loading FLTK. To install FLTK
- for every user, you either have to set root user again, or use "visudo" to add
- yourself to the "sudo" list.
- I like to use subversion to install the latest FLTK-1.3.release:
- svn co http://seriss.com/public/fltk/fltk/branches/branch-1.3/ fltk-1.3
-
- To update to the latest version, just go into the fltk-1.3 directory and type
- svn update
- FIXME: no FL_SYMBOL font (-*-symbol-*), font 15 (Zapf-Dingbats)
- 2.8 SunOS / Solaris
- ----------------------
- SunOS is a commercial operating system from Sun Microsystems (in 2009 the
- company was sold to Oracle). SunOS is also called Solaris since version 5.
- There was an open source derivative called OpenSolaris (based on Solaris 10)
- that was cancelled by Oracle. The successor in spirit is called OpenIndiana
- and can be downloaded from here:
- http://www.openindiana.org/
- For FLTK you need at least SunOS 5.7 (aka Solaris 7). This version supports
- 64 bit machines and POSIX threads. For machines with 64 bit SPARC processors
- it is highly recommended to use Sun compilers, the 64 bit code generated by
- older versions of GCC for such machines is unusable (expect something between
- horribly broken and immediate crash).
- Consider using pkgsrc with this operating system. See the NetBSD section if
- you want to do so.
- If you have GCC and Sun compilers installed, configure your environment like
- this to use the Sun compilers and pkgsrc graphics libraries:
- export CC="cc"
- export CXX="CC"
- export CPPFLAGS="-I/usr/pkg/include"
- export LDFLAGS="-L/usr/pkg/lib -R/usr/pkg/lib"
- To build a 64 bit FLTK library, add the following flags:
- export CFLAGS="-xarch=v9"
- export CXXFLAGS="-xarch=v9"
- 2.10 HP-UX
- -------------
- HP-UX is a commercial operating system from HP, no free or open source
- derivatives are available.
- For FLTK you need at least HP-UX 11.11 and the latest patch bundles should be
- installed.
- Consider using pkgsrc with this operating system. See the NetBSD section if
- you want to do so.
- 2.11 AIX
- -----------
- AIX is a commercial operating system from IBM, no free or open source
- derivatives are available.
- For FLTK you need at least AIX 5L, I have tested version 5.1 patched to ML9.
- Consider using pkgsrc with this operating system. See the NetBSD section if
- you want to do so.
- 2.12 NetBSD
- --------------
- NetBSD can be downloaded here:
- http://www.netbsd.org/
- If you have not done so yet, download and install NetBSD. Ensure that the
- optional distribution sets "comp" (Compiler, header files, development tools)
- and x*** (X Window System) are installed.
- Now install and configure pkgsrc. The current version can be downloaded here:
- http://www.pkgsrc.org/
- To use the current stable version of FLTK, simply install it from pkgsrc:
- cd /usr/pkgsrc/x11/fltk13
- bmake install
- For the latest development snapshot, first install the svn client from pkgsrc:
- cd /usr/pkgsrc/devel/subversion
- bmake install
- Now fetch the latest FLTK source code:
- svn co http://seriss.com/public/fltk/fltk/branches/branch-1.3/ fltk-1.3
- To update to the latest version, just go into the fltk-1.3 directory and type
- svn update
- If you have installed JPEG and PNG libraries from pkgsrc, configure your
- environment as follows so that the FLTK configure script can find them:
- export CPPFLAGS="-I/usr/pkg/include"
- export LDFLAGS="-L/usr/pkg/lib"
- To install GNU autoconf from pkgsrc:
- cd /usr/pkgsrc/devel/autoconf
- bmake install
- 3 HOW TO BUILD FLTK USING GCC
- ================================
- 3.1 Downloading and Unpacking
- --------------------------------
- Download FLTK from here:
- http://www.fltk.org/software.php
- If you are familiar with "subversion" and like to stay current with your
- version, you will find the subversion access parameters at the bottom of that
- page. Unpack FLTK into a convenient location. I like to have everything in my
- dev directory:
- cd
- mkdir dev
- cd dev
- mv ~/Downloads/fltk-1.3.xxxx.tar.gz .
- tar xvfz fltk-1.3.xxxx.tar.gz
- cd fltk-1.3.xxxx
-
- 3.2 Configuring FLTK
- -----------------------
- If you got FLTK via subversion then you need one extra step. Otherwise skip
- over this part. Stay in your FLTK source-code directory and type the
- following:
- NOCONFIGURE=1 ./autogen.sh
- Now configure your FLTK installation:
- ./configure
-
- ADVANCED: type "./configure --help" to get a complete list of optional
- configurations parameters. These should be pretty self-explanatory. Some
- more details can be found in README.
- :END_ADVANCED
- The configuration script will check your machine for the required resources
- which you should have installed as described in the Prerequisites chapter. Review
- the Configuration Summary, maybe take some notes.
- 3.3 Building FLTK
- --------------------
- Now this is easy. Stay in your FLTK source-code directory and type:
- make
- The entire FLTK toolkit including many test programs will be built for you. No
- warnings should appear. If some do, please let the FLTK developer team know via
- the mailing list or the bug reporting template at www.fltk.org .
- Actually, as of Oct 28 2010, quite a bunch of warnings will show, mostly about
- suggested parenthesis. Please ignore them until we can fix them.
- 3.4 Testing FLTK
- -------------------
- After a successful build, you can test FLTK's capabilities:
- test/demo
- 3.5 Installing FLTK
- ----------------------
- If you did not change any of the configuration settings, FLTK will be installed
- in "/usr/local/include" and "/usr/local/lib" by typing
- sudo make install
-
- If you are using the KDE, GNOME or XFCE desktop environments and want to call
- "fluid" from the desktop menu, you will need to install additional files and
- icons under "/usr/share" by typing:
- sudo make install-desktop
-
- It is possible to install FLTK without superuser privileges by changing the
- installation path to a location within the user account by adding the
- "--prefix=PREFIX" parameters to the "./configure" command.
- 3.6 Creating new Projects
- ----------------------------
- FLTK provides a neat script named "fltk-config" that can provide all the flags
- needed to build FLTK applications using the same flags that were used to build
- the library itself. Running "fltk-config" without arguments will print a list
- options. The easiest call to compile an FLTK application from a single source
- file is:
- fltk-config --compile myProgram.cxx
- "fltk-config" and "fluid" will be installed in "/usr/local/bin/" by default. I
- recommend that you add it to the command search path.
- 4 CREATING A NEW PROJECT IN CODE::BLOCKS
- ===========================================
- Code::Blocks is a free and popular C++ IDE in the Linux world. It also runs on
- OS X and MSWindows. Configured correctly, it can also cross-compile between
- these platforms. This chapter focuses on creating a new FLTK project for Linux,
- assuming that FLTK 1.3 was previously built and installed in its default
- location from the command line.
- If not done yet, install Code::Blocks as described in the Prerequisites chapter
- above, or download it from their web site. This description is based on
- version 10.05:
- http://www.codeblocks.org/
-
- Start Code::Blocks. Select File > New > Project. In the "New from template"
- dialog box, click on "FLTK project" and follow the instructions.
- The default project support basic fltk. If you would like to add support for
- images, OpenGL, GLUT, or Forms, add the corresponding flags --use-images,
- --use-gl, --use-glut, and --use-forms respectively.
- The flags are located in the "Project Build Options" dialog. To change the
- compiler flags, select your project in the tree view, then select the
- "Compiler Settings" tab, then "Other Options" and add the flags to
- `fltk-config --cxxflags` in front of the second "`".
- The linker flags are located in the "Linker Settings" tab under "Other Linker
- Options". Add the flags to `fltk-config --ldstaticflags` in front of the
- second "`".
- CodeBlocks can be set up to use fluid to manage modules..
- The following info is from [email protected] posted on fltk.general 06/17/2013:
- """
- I have these settings in codeblocks on linux:
- Settings ->
- Compiler and debugging settings ->
- Other settings ->
- Advanced options:
- -- Add an extension (in my case "fl")
- -- On command line macro:
- cd $file_dir; fluid -c $file
- -- Generated files (to be further compiled):
- $file_dir/$file_name.cxx
- $file_dir/$file_name.h
- Settings -> Environment -> Files extension handling :
- Wildcard : *.fl
- To open file: Launch an external program
- External program: fluid
- With that I can double click on any fluid file I include on a project
- and it opens with fluid. When I press "run" or "build" codeblocks
- calls fluid to generate the c++ files and compiles if needed.
- """
- 5 DOCUMENT HISTORY
- =====================
- Oct 30 2010 - matt: added Code::Blocks chapter
- Oct 28 2010 - matt: restructured entire document and verified instructions
- Nov 14 2010 - duncan: added install-desktop
- Jun 17 2013 - erco: added mingodad's CodeBlocks/Fluid recommendations
|