// This file is part of MODULAR.
// MODULAR is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
//
// MODULAR: Software for Autonomous Computation of Modularity for Large Network Sets */
// Copyright 2012
************* How to cite
Marquitti, F. M. D., Guimarães, P. R., Pires, M. M. and Bittencourt, L. F. (2014),
MODULAR: software for the autonomous computation of modularity in large network sets.
Ecography, 37: 221–224. doi: 10.1111/j.1600-0587.2013.00506.x
************** Pre-compiled binaries and source code
We provide pre-compiled binaries and source code for MODULAR. In the "binaries" folder
you find binaries compiled for i686 GNU/Linux, Windows, and Mac OS X 10.10 (terminal and Cocoa).
Source codes are provided also for Mac OS X, GNU/Linux and Windows. General information on how
to build MODULAR on each of these systems are given below.
************** Dependencies
To compile modular you should have igraph >= 0.6 and gsl >=1.0 libraries installed in
your system or compiled as static libraries. You can find these libraries in the MODULAR
source code directory tree (igraph-0.6 and gsl-1.15).
************** General Compilation Instructions
========== Mac OS X:
MODULAR comes in two basic versions: with and without graphical interface (Cocoa).
The graphical interface is currently only available for Mac OS X >= 10.6. Compilation for earlier
versions may require additional steps and/or source code adaptation.
----- terminal version
To compile the terminal version (without graphical interface), you have basically three options:
1. Install igraph and gsl into your system and compile the Mac terminal version (source/mac/terminal)
with dynamic linking: gcc -o modular modular.c -lgsl -ligraph -lm
2. Compile static libraries for igraph and gsl (or use the ones provided in the folder
source/mac/terminal/libs), and then use automake/autoconf to compile from the provided
Makefile.am and configure.in files (source/mac/terminal). For example:
aclocal; automake -a; autoconf;
mkdir libs;
cd igraph-0.6;
./configure --enable-static=yes
make
cd ..
cp igraph-0.6/src/.libs/libigraph.a libs/
cd gsl-1.15/
./configure --enable-static=yes
make
cd ..
cp gsl-1.15/.libs/libgsl.a libs/
./configure
make
3. Use XCode to open the XCode 3.2.6 project (source/mac/XCode/terminal/ModularTerminal), and compile
it using the included apre-compiled static libraries.
----- Cocoa version
The graphical interface version is based on the Cocoa libraries. The source code and XCode 3.2.6
project are provided in the folder source/mac/XCode/Cocoa/Modular. The Cocoa version relies on a terminal
application to run. You must first build the "modular" target included in this Cocoa XCode project,
then build the "Modular" target. Before running it, you should manually copy the "modular" terminal
application generated in the first build (modular target) into the folder "Modular.app/Contents/Resources/"
of the generated Modular.app applicaton.
========== GNU/Linux:
MODULAR for GNU/Linux is only for terminal, without graphical interface. To compile it, you have basically
two options:
1. Install igraph and gsl into your system and compile the linux terminal version (source/linux/terminal)
with dynamic linking: gcc -o modular modular.c -lgsl -ligraph -lm
2. Compile static libraries for igraph and gsl, and then use automake/autoconf to compile from the provided
Makefile.am and configure.in files (source/linux/terminal). For example:
aclocal; automake -a; autoconf;
mkdir libs;
cd igraph-0.6;
./configure --enable-static=yes
make
cd ..
cp igraph-0.6/src/.libs/libigraph.a libs/
cd gsl-1.15/
./configure --enable-static=yes
make
cd ..
cp gsl-1.15/.libs/libgsl.a libs/
./configure
make
========== Windows:
MODULAR for windows is only for terminal, without graphical interface. We provide a Visual C++ Express 2008
project in the folder source/win/terminal/Modular, including the necessary libraries.