Tecgraf/PUC-Rio Library Download Tips

All the libraries were build using Tecmake. Please use it if you intend to recompile the sources. Tecmake can be found at http://www.tecgraf.puc-rio.br/tecmake.

The IM files can be downloaded at http://sourceforge.net/project/showfiles.php?group_id=241318.
The CD files can be downloaded at http://sourceforge.net/project/showfiles.php?group_id=241317.
The IUP files can be downloaded at http://sourceforge.net/project/showfiles.php?group_id=241310.
The Lua files can be downloaded at http://luaforge.net/project/showfiles.php?group_id=110.

Build Configuration

Libraries and executables were built using speed optimization. In UNIX the dynamic libraries were NOT built with the -fpic parameter. In MacOS X the dynamic libraries are in bundle format. The source code along with the "config.mak" files for Tecmake are also available.

The DLLs were built using the cdecl calling convention. This should be a problem for Visual Basic users.

In Visual C++ we use the single thread C Run Time Library for static libraries and the multi thread C RTL for DLLs. Because this is the default in Visual Studio for new projects. Since Visual C++ 8, both use the multi thread C RTL.

Packaging

The package files available for download are named according to the platform where they were build.

In UNIX all strings are based in the result of the command "uname -a". The package name is a concatenation of the platform uname, the system major version number and the system minor version number. Some times a suffix must be added to complement the name. The compiler used is always gcc. Binaries for 64-bits receive the suffix: "_64". In Linux when there are different versions of gcc for the same uname, the platform name is created adding the major version number of the compiler added as a suffix: "g3" for gcc 3 and "g4" for gcc 4.

In Windows the platform name is the compiler and its major version number.

All library packages (*_lib*) contains pre-compiled binaries for the specified platform and includes. Packages with "_bin" suffix contains executables only.

The package name is a general reference for the platform. If you have the same platform it will work fine, but it may also work in similar platforms.

Here are some examples of packages:

iup2_4_Linux26_lib.tar.gz = IUP 2.4 32-bits Libraries and Includes for Linux with Kernel version 2.6 built with gcc 3.
iup2_4_Linux26g4_64_bin.tar.gz = IUP 2.4 64-bits Executables for Linux  with Kernel version 2.6 built with gcc 4.
iup2_4_Win32_vc8_lib.tar.gz = IUP 2.4 32-bits Static Libraries and Includes for Windows to use with Visual C++ 8 (2005).
iup2_4_Win32_dll9_lib.tar.gz = IUP 2.4 32-bits Dynamic Libraries (DLLs), stub libraries and Includes for Windows to use with Visual C++ 9 (2008).
iup2_4_Docs_html.tar.gz = IUP 2.4 documentation files in HTML format (the web site files can be browsed locally).
iup2_4_Win32_bin.tar.gz = IUP 2.4 32-bits Executables for Windows.

The documentation files are in HTML format. They do not include the CHM and PDF versions. These two files are provided as a separate download, but they all have the same documentation.

Installation

For any platform we recommend you to create a folder to contain the third party libraries you download. Then just unpack the packages you download in that folder. The packages already contains a directory structure that separates each library or toolkit. For example:

\mylibs\
        iup\
            bin\
            html\
            include\
            lib\Linux26
            lib\Linux26g4_64
            lib\vc8
            src
        cd\
        im\
        lua5.1\

This structure will also made the process of building from sources more simple, since the projects and makefiles will assume this structure .

Usage

For makefiles use:

1) "-I/mylibs/iup/include" to find include files
2) "-L/mylibs/iup/lib/Linux26" to find library files
3) "-liup" to specify the library files

For IDEs the configuration involves the same 3 steps above, but each IDE has a different dialog. The IUP toolkit has a Guide for some IDEs:

Open Watcom - http://www.tecgraf.puc-rio.br/iup/en/ide_guide/owc.html
Dev-C++ - http://www.tecgraf.puc-rio.br/iup/en/ide_guide/dev-cpp.html
Borland C++ BuilderX - http://www.tecgraf.puc-rio.br/iup/en/ide_guide/cppbx.html
Microsoft Visual C++ (Visual Studio 2003) - http://www.tecgraf.puc-rio.br/iup/en/ide_guide/msvc.html
Microsoft Visual C++ (Visual Studio 2005) - http://www.tecgraf.puc-rio.br/iup/en/ide_guide/msvc8.html
Eclipse for C++ - http://www.tecgraf.puc-rio.br/iup/en/ide_guide/eclipse.html

Available Platforms

The following platforms can be available:

AIX43  IBM AIX 4.3 (ppc) / gcc 2.95 / Motif 2.1
IRIX65  SGI IRIX 6.5 (mips) / gcc 3.0 / Motif 2.1
IRIX6465  SGI IRIX 6.5 (mips) / gcc 3.3 / Motif 1.2
Linux24  Red Hat 7.3 (x86) / Kernel 2.4 / gcc 2.95 / Open Motif 2.1
Linux24g3  CentOS 3.9 (x86) / Kernel 2.4 / gcc 3.2 / Open Motif 2.2 3
Linux24g3_64   Red Hat E.L. WS 3 (x64)  (64 bits libraries) / Kernel 2.4 / gcc 3.2 / Open Motif 2.2 3
Linux26  CentOS 4.5 (x86) / Kernel 2.6 / gcc 3.4 / Open Motif 2.2 3
Linux26_64  CentOS 4.5 (x64) / Kernel 2.6 / gcc 3.4 / Open Motif 2.2 3
Linux26g4  Ubuntu 6.06 (x86) / Kernel 2.6 / gcc 4.0 / Open Motif 2.2 3
Linux26g4_64  Ubuntu 6.10 (x64) / Kernel 2.6 / gcc 4.1 / OpenMotif 2.2 3
Linux26g4ppc  Ubuntu 7.10 (ppc) / Kernel 2.6 / gcc 4.1 / Open Motif 2.2 3
Linux26_ia64  Red Hat E.L. AS 4 (ia64) / Kernel 2.6 / gcc 3.4 / Open Motif 2.2 3
SunOS57  Sun Solaris 7 (sparc) / gcc 2.95 / Motif 2.1
SunOS58  Sun Solaris 8 (sparc) / gcc 3.4 / Motif 2.1
SunOS510x86  Sun Solaris 10 (x86) / gcc 3.3 / Motif 2.1
FreeBSD54  Free BSD 5.4 (x86) / gcc 3.4 / Open Motif 2.2 3
Darwin811  Mac OS X 10.4.11 (ppc) / Darwin Kernel Version 8.11 / gcc 4.0 / Open Motif 2.1
Darwin811x86  Mac OS X 10.4.11 (x86) / Darwin Kernel Version 8.11 / gcc 4.0 / Open Motif 2.1
Win32_vc6  Microsoft Visual C++ 6 (static RTL/single thread)
Win32_vc7  Microsoft Visual C++ 7.1 (.NET 2003) (static RTL/single thread)
 Also compatible with Microsoft Visual C++ Toolkit 2003 -
 http://msdn.microsoft.com/visualc/vctoolkit2003/ ¹
Win32_vc8  Microsoft Visual C++ 8.0 (2005) (static RTL/multithread)
 Also compatible with Microsoft Visual C++ 2005 Express Edition -
 http://msdn.microsoft.com/vstudio/express/visualc/ ¹
Win32_vc9  Microsoft Visual C++ 9.0 (2008) (static RTL/multithread)
 Also compatible with Microsoft Visual C++ 2008 Express Edition -
 http://msdn.microsoft.com/vstudio/express/visualc/ ¹
Win32_dll6  built using vc6, creates dependency with MSVCRT.DLL
 (either other libraries or new applications).
Win32_dll7  built using vc7, creates dependency with MSVCR71.DLL
 (either other libraries or new applications).
Win32_dll8  built using vc8, creates dependency with MSVCR80.DLL
 (either other libraries or new applications).
Win32_dll9  built using vc9, creates dependency with MSVCR90.DLL
 (either other libraries or new applications).
Win64_vc8   Same as Win32_vc8 but for 64-bits systems using x64 standard.
Win64_vc9   Same as Win32_vc9 but for 64-bits systems using x64 standard.
Win64_dll8   Same as Win32_dll8 but for 64-bits systems using x64 standard.
Win64_dll9   Same as Win32_dll9 but for 64-bits systems using x64 standard.
Win32_gcc3  Cygwin gcc 3.4  (Depends on Cygwin DLL 1.5) - http://www.cygwin.com/ ¹
Win32_cygw15  Same as Win32_gcc3, but using the Cygwin Posix system
Win32_mingw3  MingW gcc 3.4 - http://www.mingw.org/ ¹
 Also compatible with Dev-C++ - http://www.bloodshed.net/devcpp.html ¹
Win32_mingw4  MingW gcc 4.x (unofficial) - http://www.develer.com/oss/GccWinBinaries ¹
Win32_owc1  Open Watcom 1.5 - http://www.openwatcom.org/
Win32_bc56  Borland C++ BuilderX 1.0 / Borland C++ 5.6 Compiler -
 http://www.borland.com/products/downloads/download_cbuilderx.html ¹,²
 (the C++ BuilderX IDE can also be configured to use mingw3 or gcc3 versions.)
Win32_bin  Executables only for Windows NT/2000/XP
Win64_bin  Same as Win32_bin but for 64-bits systems using the x64 standard
Win32_cygw15_bin  Executables only for Windows NT/2000/XP, but using the Cygwin Posix system

¹ - Notice that all the Windows compilers with links here are free to download and use.
² - Recently Borland removed the C++ Builder X from download. But if you bought a book that has the CD of the compiler, then it is still free to use.
3 - OpenMotif 2.2 is classified as 'experimental' by the Open Group.