# Artistic Style Install Information

Artistic Style Versions
Linux Version
Mac OS X Version
OpenVMS Version
Windows Version
Compiler Options

> ## Artistic Style Versions

> astyle_x.y_linux.tar.gz is the Linux version of Artistic Style. It contains the source code, documentation, and makefiles. The Linux Version compile instructions below give information compiling the source code. The Linux shell will allow the use of wildcards (such as *.cpp) during execution.

> astyle_x.y_macosx.tar.gz is the Mac OS X version of Artistic Style. It contains the source code, documentation, and a makefile. The Mac OS X Version compile instructions below give information compiling the source code. The Mac shell will allow the use of wildcards (such as *.cpp) during execution.

> astyle_x.y_openvms.zip is the OpenVMS version of Artistic Style. It contains the source code, documentation, object files, build files, and an executable. The OpenVMS Version compile instructions below give information compiling the source code. Object code is included for people that don't have the Hewlett-Packard C++ compiler. Wildcards are not supported under Digital Command Language (DCL). If the Bash shell has been installed on VMS, wildcards (such as *.cpp) can be used if Artistic Style is run under Bash.

> astyle_x.y_windows.zip is the Windows version of Artistic Style. It contains the source code, documentation, a Visual C project file, and an executable. The Windows Version compile instructions below give information compiling the source code. The pre-compiled executable has been compiled to allow the use of wildcards (such as *.cpp) during execution.

> Only one platform is supported in each distribution package. If you use Artistic Style on more than one platform you will need to download packages for each platform. The main difference in platforms is the build directory and the line endings. Most compilers and development packages will accept any type of line ending.

> ## Linux Version

> ### GCC Compiler

> To compile using the GCC compiler you must have GCC (3.1 or better) installed. To build the Artistic Style configurations use the makefile located in the astyle/build directory. The executables will be in the astyle/bin directory. To build the command line configuration enter the following:

>         cd astyle/build
>         make

> To build the other astyle configurations you can enter the file name or a symbolic name. Entering "make astyle" or "make release" will build the command line configuration. Following are the symbolic names and file names (in parens) of the various configurations:

> - release builds the Artistic Style command line program (astyle). This is the default option.
> - shared builds the Artistic Style program as a shared library (libastyle.so).
> - static builds the Artistic Style program as a static library (libastyle.a).
> - debug builds the Artistic Style command line program with debugging information (astyled).
> - shareddebug builds the Artistic Style program as a shared library with debugging information (libastyled.so).
> - staticdebug builds the Artistic Style program as a static library with debugging information (libastyled.a).
> - all builds all of the above configurations.

> More than one configuration can be built at the same time. For example, to build all of the release configurations enter:

>         cd astyle/build
>         make release shared static

> ### Intel Compiler

> The Intel makefile is named makeintel. To build astyle, use the makeintel file located in the astyle/build directory. The executables will be in the astyle/bin directory. To build the command line configuration enter the following:

>         cd astyle/build
>         make -f makeintel

> Another way to compile with Intel is to rename "makeintel" as "makefile". Then the -f option is not needed. If this is done the Intel makefile will always be used instead of the GCC makefile.

> The configuration names for Intel are the same as for the GCC compiler. More than one configuration can be built at the same time. For example, to build all of the debug configurations enter:

>         cd astyle/build
>         make -f makeintel debug shareddebug staticdebug

> ### Other Makefile Options

> The following options are also available. If you are using the Intel compiler, the make filename option must be included in the command (-f makeintel).

> ##### clean

> To remove the object files for all configurations:

>         make clean

> The executables will not be removed.

> ##### install

> You must have the appropriate permissions to use install. To install the astyle executable to /usr/bin:

>         make install

> To install the executable to a different directory set a value for the macro $(prefix). For example to install the executable to a users home directory (/home/user/bin):

>        make prefix=$HOME/bin install

> ##### uninstall

> You must have the appropriate permissions to use uninstall. To uninstall the astyle executable from /usr/bin:

>         make uninstall

> To uninstall the executable from a different directory set a value for the macro $(prefix). For example to uninstall the executable from a users home directory (/home/user/bin):

>        make prefix=$HOME/bin uninstall

> NOTE: The uninstall option will NOT remove the .astylerc files from the users home directories. The files must be removed individually for each user.

> ## Mac OS X Version

> Mac OS X uses the same makefile as Linux GCC. To build the Artistic Style configurations use the makefile located in the astyle/build directory. The executables will be in the astyle/bin directory. To build the command line configuration enter the following:

>         cd astyle/build
>         make

> The configurations for Mac are the same as for the Linux GCC compiler. More than one configuration can be built at the same time. For example, to build all of the release configurations enter:

>         cd astyle/build
>         make release shared static

> ## OpenVMS Version

> To build Artistic Style on an OpenVMS system, you will need Hewlett-Packard 's C++ compiler installed. To build the code, use the OpenVMS specific build file located in the astyle/build directory. The executables will be in the astyle/bin directory. To build, enter the following:

>         set def [.astyle.build]
>         @vmsbuild

> To run Artistic Style, you should move the executable to an appropriate directory, and create a foreign symbol for it. For example:

>         create/dir my_disk:[astyle.exe]
>         set def [-.bin]
>         copy astyle_main.exe my_disk:[astyle.exe]
>         ast*yle :== $my_disk:[astyle.exe]astyle_main.exe

> If you use Artistic Style on ODS-2 disks, you will need to specify a different suffix for file renaming, as the default is .orig, and multi-dot filenames are not supported on ODS-2 disks. Add the --suffix=_orig switch to either the command line or your Artistic Style initialization file.

> To set up an initialization file on OpenVMS, create a file and define a logical to point to it. For example:

>         create my_disk:[astyle]astyle.ini
>         --suffix=_orig
>         ^Z
>         define artistic_style_options my_disk:[astyle]astyle.ini

> ## Windows Version

> ### Precompiled Executable

> In addition to the source files, the Windows version contains an astyle executable (AStyle.exe). The executable is compiled to allow wildcard use during execution.

> ### Visual C++ Compiler

> There is a project file for Visual C++ 2003 (version 7) or higher. Open the file AStyle.sln in the AStyle/build directory. Select the Release configuration to compile the command line version. All output files will be in the AStyle/bin directory. The project has the following configurations.

> - Release builds the Artistic Style command line program (AStyle.exe).
> - Release Dll builds the Artistic Style program as a Dynamic Link Library (AStyle.dll). This will also produce the exports library and the static library for linking the dll.
> - Release Lib builds the Artistic Style program as a Static Library (libAStyle.lib).
> - Debug builds the Artistic Style command line program with debugging information (AStyled.exe).
> - Debug Dll builds the Artistic Style program as a Dynamic Link Library (DLL) with debugging information (AStyled.dll). This will also produce the exports library and the static library for linking the dll.
> - Debug Lib builds the Artistic Style program as a Static Library with debugging information (libAStyled.lib).

> ### Other Compilers

> To use other compilers a project file must be built using the compiler's development environment.

> - Create a project using the compiler's development environment
> - Add to the project all the .cpp and .h files in the src directory.
> - In order to use wildcards (such as *.cpp) during execution:
>   With Visual C++, insert "setargv.obj" to the list of linker additional dependencies.
>   With the MinGW build of the GCC compiler, the use of wildcards is automatic.
>   With Borland, add "wildargs.obj" to the list of linker object files.
>   With other compilers I don't know of a way to allow wildcards. I would appreciate the information if anyone knows.
> - The Compiler Options section discusses the compiler options to use.
> - Compile.

> ## Compiler Options

> To compile as a static or shared (dynamic) library define the macro ASTYLE_LIB. Then use the appropriate compiler and linker options to compile the static or shared library.

> Artistic Style is a small program and it is best to optimize for speed. The debug configuration is not usually optimized. To optimize for speed in the release configuration use the macro NDEBUG to remove asserts. Use an option that allows inline function expansion. Runtime Type Information (RTTI) is NOT needed. Use whole program speed optimization if your compiler supports it. There may be other options you can use depending on the compiler.