BCS wxWidgets Package Build And Install

Of all available c++ GUI’s wxWidgets is the standard for Brooks Computing Systems GUI’s.
The provided packages were incompatible with the level of c++ I currently use so all the libraries in question had to be recompiled.  Below is a list of the possible configuration options.
[codesyntax lang=”bash”]

`configure' configures wxWidgets 3.0.4 to adapt to many kinds of systems.
Usage: ../configure [OPTION]... [VAR=VALUE]...
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.
Defaults for the options are specified in brackets.
  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages
  -V, --version           display version information and exit
  -q, --quiet, --silent   do not print `checking ...' messages
      --cache-file=FILE   cache test results in FILE [disabled]
  -C, --config-cache      alias for `--cache-file=config.cache'
  -n, --no-create         do not create output files
      --srcdir=DIR        find the sources in DIR [configure dir or `..']
Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc.  You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
  --bindir=DIR            user executables [EPREFIX/bin]
  --sbindir=DIR           system admin executables [EPREFIX/sbin]
  --libexecdir=DIR        program executables [EPREFIX/libexec]
  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
  --libdir=DIR            object code libraries [EPREFIX/lib]
  --includedir=DIR        C header files [PREFIX/include]
  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
  --infodir=DIR           info documentation [DATAROOTDIR/info]
  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
  --mandir=DIR            man documentation [DATAROOTDIR/man]
  --docdir=DIR            documentation root [DATAROOTDIR/doc/wxwidgets]
  --htmldir=DIR           html documentation [DOCDIR]
  --dvidir=DIR            dvi documentation [DOCDIR]
  --pdfdir=DIR            pdf documentation [DOCDIR]
  --psdir=DIR             ps documentation [DOCDIR]
X features:
  --x-includes=DIR    X include files are in DIR
  --x-libraries=DIR   X library files are in DIR
System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
Optional Features:
  --disable-option-checking  ignore unrecognized --enable/--with options
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --disable-gui           don't build GUI parts of the library
  --enable-monolithic     build wxWidgets as single library
  --enable-plugins        build parts of wxWidgets as loadable components
  --enable-official_build official build of wxWidgets (win32 DLL only)
  --enable-vendor=VENDOR  vendor name (win32 DLL only)
  --disable-all-features  disable all optional features to build minimal library
  --enable-universal      use wxWidgets GUI controls instead of native ones
  --enable-nanox          use NanoX
  --enable-gpe            use GNOME PDA Environment features if possible
  --enable-debug          build library for debugging
  --disable-debug_flag    disable all debugging support
  --enable-debug_info     generate debug information
  --enable-debug_gdb      create code with extra GDB debugging information
  --enable-debug_cntxt    obsolete, don't use: use wxDebugContext
  --enable-mem_tracing    obsolete, don't use: create code with memory tracing
  --disable-shared        create static library instead of shared
  --enable-stl            use standard C++ classes for everything
  --enable-std_containers use standard C++ container classes
  --enable-std_iostreams  use standard C++ stream classes
  --enable-std_string     use standard C++ string classes
 --enable-std_string_conv_in_wxstring     provide implicit conversion to std::string in wxString
  --disable-unicode       compile without Unicode support
  --enable-mslu           use MS Layer for Unicode on Windows 9x (Win32 only)
  --enable-utf8           use UTF-8 representation for strings (Unix only)
  --enable-utf8only       only support UTF-8 locales in UTF-8 build (Unix only)
  --enable-extended_rtti  use extended RTTI (XTI)
  --enable-omf            use OMF object format
  --disable-optimise      compile without optimisations
  --enable-profile        create code with profiling information
  --enable-no_rtti        create code without RTTI information
  --enable-no_exceptions  create code without C++ exceptions handling
  --enable-permissive     compile code disregarding strict ANSI
  --enable-no_deps        create code without dependency information
  --disable-vararg_macros don't use vararg macros, even if they are supported
  --enable-universal_binary=archs create universal binary for the specified (or all supported) architectures
  --enable-macosx_arch=ARCH  build for just the specified architecture
  --enable-compat26       enable wxWidgets 2.6 compatibility
  --disable-compat28      disable wxWidgets 2.8 compatibility
  --disable-rpath         disable use of rpath for uninstalled builds
  --enable-objc_uniquifying enable Objective-C class name uniquifying
  --disable-visibility    disable use of ELF symbols visibility even if supported
  --disable-tls           disable use of compiler TLS support
  --enable-intl           use internationalization system
  --enable-xlocale        use x-locale support (requires wxLocale)
  --enable-config         use wxConfig (and derived) classes
  --enable-protocols      use wxProtocol and derived classes
  --enable-ftp            use wxFTP (requires wxProtocol
  --enable-http           use wxHTTP (requires wxProtocol
  --enable-fileproto      use wxFileProto class (requires wxProtocol
  --enable-sockets        use socket/network classes
  --enable-ipv6           enable IPv6 support in wxSocket
  --enable-ole            use OLE classes (Win32 only)
  --enable-dataobj        use data object classes
  --enable-ipc            use interprocess communication (wxSocket etc.)
  --enable-baseevtloop    use event loop in console programs too
  --enable-epollloop      use wxEpollDispatcher class (Linux only)
  --enable-selectloop     use wxSelectDispatcher class
  --enable-any            use wxAny class
  --enable-apple_ieee     use the Apple IEEE codec
  --enable-arcstream      use wxArchive streams
  --enable-base64         use base64 encoding/decoding functions
  --enable-backtrace      use wxStackWalker class for getting backtraces
  --enable-catch_segvs    catch signals in wxApp::OnFatalException (Unix only)
  --enable-cmdline        use wxCmdLineParser class
  --enable-datetime       use wxDateTime class
  --enable-debugreport    use wxDebugReport class
  --enable-dialupman      use dialup network classes
  --enable-dynlib         use wxLibrary class for DLL loading
  --enable-dynamicloader  use (new) wxDynamicLibrary class
  --enable-exceptions     build exception-safe library
  --enable-ffile          use wxFFile class
  --enable-file           use wxFile class
  --enable-filehistory    use wxFileHistory class
  --enable-filesystem     use virtual file systems classes
  --enable-fontenum       use wxFontEnumerator class
  --enable-fontmap        use font encodings conversion classes
  --enable-fs_archive     use virtual archive filesystems
  --enable-fs_inet        use virtual HTTP/FTP filesystems
  --enable-fs_zip         now replaced by fs_archive
  --enable-fsvolume       use wxFSVolume class
  --enable-fswatcher      use wxFileSystemWatcher class
  --enable-geometry       use geometry class
  --enable-log            use logging system
  --enable-longlong       use wxLongLong class
  --enable-mimetype       use wxMimeTypesManager
  --enable-printfposparam use wxVsnprintf() which supports positional parameters
  --enable-snglinst       use wxSingleInstanceChecker class
  --enable-sound          use wxSound class
  --enable-stdpaths       use wxStandardPaths class
  --enable-stopwatch      use wxStopWatch class
  --enable-streams        use wxStream etc classes
  --enable-sysoptions     use wxSystemOptions
  --enable-tarstream      use wxTar streams
  --enable-textbuf        use wxTextBuffer class
  --enable-textfile       use wxTextFile class
  --enable-timer          use wxTimer class
  --enable-variant        use wxVariant class
  --enable-zipstream      use wxZip streams
  --enable-url            use wxURL class
  --enable-protocol       use wxProtocol class
  --enable-protocol-http  HTTP support in wxProtocol
  --enable-protocol-ftp   FTP support in wxProtocol
  --enable-protocol-file  FILE support in wxProtocol
  --enable-threads        use threads
  --enable-iniconf        use wxIniConfig (Win32 only)
  --enable-regkey         use wxRegKey class (Win32 only)
  --enable-docview        use document view architecture
  --enable-help           use help subsystem
  --enable-mshtmlhelp     use MS HTML Help (win32)
  --enable-html           use wxHTML sub-library
  --enable-htmlhelp       use wxHTML-based help
  --enable-xrc            use XRC resources sub-library
  --enable-aui            use AUI docking library
  --enable-propgrid       use wxPropertyGrid library
  --enable-ribbon         use wxRibbon library
  --enable-stc            use wxStyledTextCtrl library
  --enable-constraints    use layout-constraints system
  --enable-loggui         use standard GUI logger
  --enable-logwin         use wxLogWindow
  --enable-logdialog      use wxLogDialog
  --enable-mdi            use multiple document interface architecture
  --enable-mdidoc         use docview architecture with MDI
  --enable-mediactrl      use wxMediaCtrl class
  --enable-gstreamer8     force GStreamer 0.8 instead of 0.10 with the wxMediaCtrl class on unix
  --enable-richtext       use wxRichTextCtrl
  --enable-postscript     use wxPostscriptDC device context (default for gtk+)
  --enable-printarch      use printing architecture
  --enable-svg            use wxSVGFileDC device context
  --enable-webkit         use wxWebKitCtrl (Mac-only, use wxWebView instead)
  --enable-webview        use wxWebView library
  --enable-graphics_ctx   use graphics context 2D drawing API
  --disable-qtkit         force AVFoundation instead of QTKit (requires OS X 10.7+)
  --enable-clipboard      use wxClipboard class
  --enable-dnd            use Drag'n'Drop classes
  --disable-controls      disable compilation of all standard controls
  --enable-markup         support wxControl::SetLabelMarkup
  --enable-accel          use accelerators
  --enable-animatectrl    use wxAnimationCtrl class
  --enable-bannerwindow   use wxBannerWindow class
  --enable-artstd         use standard XPM icons in wxArtProvider
  --enable-arttango       use Tango icons in wxArtProvider
  --enable-bmpbutton      use wxBitmapButton class
  --enable-bmpcombobox    use wxBitmapComboBox class
  --enable-button         use wxButton class
  --enable-calendar       use wxCalendarCtrl class
  --enable-caret          use wxCaret class
  --enable-checkbox       use wxCheckBox class
  --enable-checklst       use wxCheckListBox (listbox with checkboxes) class
  --enable-choice         use wxChoice class
  --enable-choicebook     use wxChoicebook class
  --enable-collpane       use wxCollapsiblePane class
  --enable-colourpicker   use wxColourPickerCtrl class
  --enable-combobox       use wxComboBox class
  --enable-comboctrl      use wxComboCtrl class
  --enable-commandlinkbutton      use wxCommmandLinkButton class
  --enable-dataviewctrl   use wxDataViewCtrl class
  --enable-datepick       use wxDatePickerCtrl class
  --enable-detect_sm      use code to detect X11 session manager
  --enable-dirpicker      use wxDirPickerCtrl class
  --enable-display        use wxDisplay class
  --enable-editablebox    use wxEditableListBox class
  --enable-filectrl       use wxFileCtrl class
  --enable-filepicker     use wxFilePickerCtrl class
  --enable-fontpicker     use wxFontPickerCtrl class
  --enable-gauge          use wxGauge class
  --enable-grid           use wxGrid class
  --enable-headerctrl     use wxHeaderCtrl class
  --enable-hyperlink      use wxHyperlinkCtrl class
  --enable-imaglist       use wxImageList class
  --enable-infobar        use wxInfoBar class
  --enable-listbook       use wxListbook class
  --enable-listbox        use wxListBox class
  --enable-listctrl       use wxListCtrl class
  --enable-notebook       use wxNotebook class
  --enable-notifmsg       use wxNotificationMessage class
  --enable-odcombobox     use wxOwnerDrawnComboBox class
  --enable-popupwin       use wxPopUpWindow class
  --enable-prefseditor    use wxPreferencesEditor class
  --enable-radiobox       use wxRadioBox class
  --enable-radiobtn       use wxRadioButton class
  --enable-richmsgdlg     use wxRichMessageDialog class
  --enable-richtooltip    use wxRichToolTip class
  --enable-rearrangectrl  use wxRearrangeList/Ctrl/Dialog
  --enable-sash           use wxSashWindow class
  --enable-scrollbar      use wxScrollBar class and scrollable windows
  --enable-searchctrl     use wxSearchCtrl class
  --enable-slider         use wxSlider class
  --enable-spinbtn        use wxSpinButton class
  --enable-spinctrl       use wxSpinCtrl class
  --enable-splitter       use wxSplitterWindow class
  --enable-statbmp        use wxStaticBitmap class
  --enable-statbox        use wxStaticBox class
  --enable-statline       use wxStaticLine class
  --enable-stattext       use wxStaticText class
  --enable-statusbar      use wxStatusBar class
  --enable-taskbaricon    use wxTaskBarIcon class
  --enable-tbarnative     use native wxToolBar class
  --enable-textctrl       use wxTextCtrl class
  --enable-timepick       use wxTimePickerCtrl class
  --enable-tipwindow      use wxTipWindow class
  --enable-togglebtn      use wxToggleButton class
  --enable-toolbar        use wxToolBar class
  --enable-toolbook       use wxToolbook class
  --enable-treebook       use wxTreebook class
  --enable-treectrl       use wxTreeCtrl class
  --enable-treelist       use wxTreeListCtrl class
  --enable-commondlg      use all common dialogs
  --enable-aboutdlg       use wxAboutBox
  --enable-choicedlg      use wxChoiceDialog
  --enable-coldlg         use wxColourDialog
  --enable-filedlg        use wxFileDialog
  --enable-finddlg        use wxFindReplaceDialog
  --enable-fontdlg        use wxFontDialog
  --enable-dirdlg         use wxDirDialog
  --enable-msgdlg         use wxMessageDialog
  --enable-numberdlg      use wxNumberEntryDialog
  --enable-splash         use wxSplashScreen
  --enable-textdlg        use wxTextDialog
  --enable-tipdlg         use startup tips
  --enable-progressdlg    use wxProgressDialog
  --enable-wizarddlg      use wxWizard
  --enable-menus          use wxMenu/wxMenuBar/wxMenuItem classes
  --enable-miniframe      use wxMiniFrame class
  --enable-tooltips       use wxToolTip class
  --enable-splines        use spline drawing code
  --enable-mousewheel     use mousewheel
  --enable-validators     use wxValidator and derived classes
  --enable-busyinfo       use wxBusyInfo
  --enable-hotkey         use wxWindow::RegisterHotKey()
  --enable-joystick       use wxJoystick
  --enable-metafiles      use wxMetaFile
  --enable-dragimage      use wxDragImage
  --enable-accessibility  enable accessibility support
  --enable-uiactionsim    use wxUIActionSimulator (experimental)
  --enable-dctransform    use wxDC::SetTransformMatrix and related
  --enable-webviewwebkit  use wxWebView WebKit backend
  --enable-palette        use wxPalette class
  --enable-image          use wxImage class
  --enable-gif            use gif images (GIF file format)
  --enable-pcx            use pcx images (PCX file format)
  --enable-tga            use tga images (TGA file format)
  --enable-iff            use iff images (IFF file format)
  --enable-pnm            use pnm images (PNM file format)
  --enable-xpm            use xpm images (XPM file format)
  --enable-ico_cur        use Windows ICO and CUR formats
  --enable-dccache        cache temporary wxDC objects (Win32 only)
  --enable-ps-in-msw      use PS printing in wxMSW (Win32 only)
  --enable-ownerdrawn     use owner drawn controls (Win32 and OS/2 only)
  --enable-uxtheme        enable support for Windows XP themed look (Win32 only)
  --enable-wxdib          use wxDIB class (Win32 only)
  --enable-webviewie      use wxWebView IE backend (Win32 only)
  --enable-autoidman      use automatic ids management
  --disable-largefile     omit support for large files
  --disable-gtktest       do not try to compile and run a test GTK+ program
  --disable-gtktest       Do not try to compile and run a test GTK program
  --disable-sdltest       Do not try to compile and run a test SDL program
  --enable-omf            use OMF object format (OS/2)
                          don't use dependency tracking even if the compiler
                          don't use precompiled headers even if compiler can
Optional Packages:
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  --without-subdirs       don't generate makefiles for samples/demos/...
  --with-flavour=NAME     specify a name to identify this build
  --with-themes=all|list  use only the specified comma-separated list of wxUniversal themes
  --with-gtk[=VERSION]    use GTK+, VERSION can be 3, 2 (default), 1 or "any"
  --with-motif            use Motif/Lesstif
  --with-osx_carbon       use Mac OS X (Carbon)
  --with-osx_cocoa        use Mac OS X (Cocoa)
  --with-osx_iphone       use iPhone OS X port
  --with-osx              use Mac OS X (default port, Cocoa)
  --with-carbon           same as --with-osx_carbon
  --with-cocoa            same as --with-osx_cocoa
  --with-iphone           same as --with-osx_iphone
  --with-mac              same as --with-osx
  --with-old_cocoa        use old, deprecated, Cocoa port
  --with-wine             use Wine
  --with-msw              use MS-Windows
  --with-pm               use OS/2 Presentation Manager
  --with-directfb         use DirectFB
  --with-microwin         use MicroWindows
  --with-x11              use X11
  --with-libpng           use libpng (PNG image format)
  --with-libjpeg          use libjpeg (JPEG file format)
  --with-libtiff          use libtiff (TIFF file format)
  --without-libjbig       don't use libjbig in libtiff even if available)
  --without-liblzma       don't use liblzma in libtiff even if available)
  --with-libxpm           use libxpm (XPM file format)
  --with-libiconv         use libiconv (character conversion)
  --with-libmspack        use libmspack (CHM help files loading)
  --without-gtkprint      don't use GTK printing support
  --with-gnomevfs         use GNOME VFS for associating MIME types
  --with-libnotify        use libnotify for notifications
  --with-hildon           use Hildon framework for Nokia 770/800/810
  --with-opengl           use OpenGL (or Mesa)
  --with-dmalloc          use dmalloc library (http://dmalloc.com/)
  --with-sdl              use SDL for audio on Unix
  --with-regex            enable support for wxRegEx class
  --with-zlib             use zlib for LZW compression
  --with-expat            enable XML support using expat parser
  --with-macosx-sdk=PATH  use an OS X SDK at PATH
  --with-macosx-version-min=VER   build binaries which require at least this OS X version
  --with-gtk-prefix=PFX   Prefix where GTK is installed (optional)
  --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)
  --with-x                use the X Window System
  --with-libiconv-prefix=DIR  search for libiconv in DIR/include and DIR/lib
  --with-sdl-prefix=PFX   Prefix where SDL is installed (optional)
  --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)
  --with-cppunit-prefix=PFX   Prefix where CppUnit is installed (optional)
  --with-cppunit-exec-prefix=PFX  Exec prefix where CppUnit is installed (optional)
Some influential environment variables:
  CC          C compiler command
  CFLAGS      C compiler flags
  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
              nonstandard directory <lib dir>
  LIBS        libraries to pass to the linker, e.g. -l<library>
  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
              you have headers in a nonstandard directory <include dir>
  CPP         C preprocessor
  CXX         C++ compiler command
  CXXFLAGS    C++ compiler flags
  CXXCPP      C++ preprocessor
  PKG_CONFIG  path to pkg-config utility
              C compiler flags for DIRECTFB, overriding pkg-config
              linker flags for DIRECTFB, overriding pkg-config
  XMKMF       Path to xmkmf, Makefile generator for X Window System
              C compiler flags for PANGOXFT, overriding pkg-config
              linker flags for PANGOXFT, overriding pkg-config
              C compiler flags for PANGOFT2, overriding pkg-config
              linker flags for PANGOFT2, overriding pkg-config
              C compiler flags for Xinerama, overriding pkg-config
              linker flags for Xinerama, overriding pkg-config
              C compiler flags for Xxf86vm, overriding pkg-config
              linker flags for Xxf86vm, overriding pkg-config
  SM_CFLAGS   C compiler flags for SM, overriding pkg-config
  SM_LIBS     linker flags for SM, overriding pkg-config
  GL_CFLAGS   C compiler flags for GL, overriding pkg-config
  GL_LIBS     linker flags for GL, overriding pkg-config
  GLU_CFLAGS  C compiler flags for GLU, overriding pkg-config
  GLU_LIBS    linker flags for GLU, overriding pkg-config
              C compiler flags for MesaGL, overriding pkg-config
  MesaGL_LIBS linker flags for MesaGL, overriding pkg-config
  SDL_CFLAGS  C compiler flags for SDL, overriding pkg-config
  SDL_LIBS    linker flags for SDL, overriding pkg-config
              C compiler flags for GTKPRINT, overriding pkg-config
              linker flags for GTKPRINT, overriding pkg-config
              C compiler flags for GNOMEVFS, overriding pkg-config
              linker flags for GNOMEVFS, overriding pkg-config
              C compiler flags for LIBNOTIFY, overriding pkg-config
              linker flags for LIBNOTIFY, overriding pkg-config
              C compiler flags for HILDON, overriding pkg-config
  HILDON_LIBS linker flags for HILDON, overriding pkg-config
              C compiler flags for HILDON2, overriding pkg-config
              linker flags for HILDON2, overriding pkg-config
              C compiler flags for WEBKIT, overriding pkg-config
  WEBKIT_LIBS linker flags for WEBKIT, overriding pkg-config
              C compiler flags for CAIRO, overriding pkg-config
  CAIRO_LIBS  linker flags for CAIRO, overriding pkg-config
  GST_CFLAGS  C compiler flags for GST, overriding pkg-config
  GST_LIBS    linker flags for GST, overriding pkg-config
              C compiler flags for CPPUNIT, overriding pkg-config
              linker flags for CPPUNIT, overriding pkg-config
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
Report bugs to <wx-dev@lists.wxwidgets.org>.

After configuration run the make command.  I have eight processors and I normally tell the make process to use four of those processors.  This approach speeds up the compilation process.
The “checkinstall” process builds and install the newly created package.  At this point you may proceed to develop GUI’s using wxWidgets.
Mr. Arch Brooks, Software Engineer, Brooks Computing Systems, LLC authored this article.

Leave a Reply

Your email address will not be published. Required fields are marked *