Coder Social home page Coder Social logo

chris-martin / cpptasks-parallel Goto Github PK

View Code? Open in Web Editor NEW

This project forked from maven-nar/cpptasks-parallel

0.0 3.0 0.0 1.3 MB

Ant Contrib CppTasks (parallel implementation)

Home Page: http://ant-contrib.sourceforge.net/cpptasks/index.html

License: Apache License 2.0

Java 99.93% C 0.07%

cpptasks-parallel's Introduction

Modified version of ant contrib cpptasks, used in the freehep/maven-nar-plugin.

*** ALL Changes marked with FREEHEP or BEGINFREEHEP-ENDFREEHEP.

* cpptasks-1.0-beta-5-parallel-1-SNAPSHOT

- Replaced deprecated visual studio C++ compiler option /GZ with current /RTC1
- Distinguish between system and non-system headers for compilers that support it (g++)
- only recurse dependencies for direct includes of current source

- changed default subsystem back to gui
- added linkFortranMain option to link with gfortranbegin, see NAR-112
- added compileOrder to the compilerDef (and thus changed most Hashtables into Maps), see NAR-109
- added .f90 as extension for the fortran compiler, see NAR-108
- merged with cpptasks-1.0b5.tar.gz
- See NAR-103 for tests that have been changed
- [src/net/sf/antcontrib/cpptasks/compiler/CommandLineLinker] throw buildException when absolute paths are too long, Windows only.

* cpptasks-1.0-beta-4-parallel-5

- moved src to src/main/java, and some resource files to src/main/resources for easy merge with cpptasks-1.0b5
- [src/net/sf/antcontrib/cpptasks/compiler/CommandLineLinker] use absolute paths for all paths to overcome windows file length limit.

* cpptasks-1.0-beta-4-parallel-4

- Added fake <distributionManagement> section to pom to avoid MDEPLOY-50. One can now deploy
  this artifact using altDeploymentRepository

* cpptasks-1.0-beta-4-parallel-3

- [src/net/sf/antcontrib/cpptasks/intel/IntelLinuxFortranCompiler.java] added ifort.
- [src/net/sf/antcontrib/cpptasks/CompilerEnum.java] added ifort.

* cpptasks-1.0-beta-4-parallel-2

- [src/net/sf/antcontrib/cpptasks/gcc/GppLinker.java] g++ handles gfortran static linking.
- [src/net/sf/antcontrib/cpptasks/compiler/LinkType.java] g++ handles gfortran static linking.
- [src/net/sf/antcontrib/cpptasks/CCTask.java] g++ handles gfortran static linking.
- [src/net/sf/antcontrib/cpptasks/gcc/GppLinker.java] g++ puts runtime library at the end.

* cpptasks-1.0-beta-4-parallel-1

** Misc.
- [src/net/sf/antcontrib/cpptasks/SubsystemEnum.java] changed default subsystem from "gui" into "console"
- [src/net/sf/antcontrib/cpptasks/gcc/AbstractLdLinker.java] no more need for -prebind as of 10.4
- [src/net/sf/antcontrib/cpptasks/gcc/AbstractLdLinker.java] removed trailing space after "-framework" to avoid quoting
- [src/net/sf/antcontrib/cpptasks/gcc/GppLinker.java] added -shared-libgcc/-static-libgcc for linking gcc and c++. 
- [src/net/sf/antcontrib/cpptasks/gcc/GccLinker.java] added -dynamic as a valid option to GccLinker
- [src/net/sf/antcontrib/cpptasks/gcc/AbstractLdLinker.java] no -Bstatic for Darwin and no -Bdynamic for framework
- [src/net/sf/antcontrib/cpptasks/compaq/CompaqVisualFortranCompiler.java] removed addition of quotes.
- [src/net/sf/antcontrib/cpptasks/gcc/GccCompatibleCCompiler.java] added missing code for -fno-exceptions
- [src/net/sf/antcontrib/cpptasks/CCTask.java] added log statement to identify linker and compiler
- [src/net/sf/antcontrib/cpptasks/gcc/GppLinker.java] g++ linking now includes option -fexceptions
- [src/net/sf/antcontrib/cpptasks/compiler/CommandLineLinker] use absolute paths for filenames if they are shorter than relative paths to overcome windows file length limit.
- [src/net/sf/antcontrib/cpptasks/CCTask.java] added thread to keep progress

** Parallel running change
- [src/net/sf/antcontrib/cpptasks/CCTask.java] fork of a process per core/cpu available.
- [src/net/sf/antcontrib/cpptasks/TargetHistoryTable.java] protect against multi-threaded updates.
- [src/net/sf/antcontrib/cpptasks/devstudio/DevStudioCompatibleCCompiler.java] replaced /Zi flag with /Z7 to disable writing debug database file (.pdb).
- [src/net/sf/antcontrib/cpptasks/devstudio/DevStudioCCompiler.java] limit command line length to 32000.
- [src/net/sf/antcontrib/cpptasks/devstudio/DevStudioCompatibleLinker.java] limit command line length to 32000.
- [src/net/sf/antcontrib/cpptasks/devstudio/DevStudioCompatibleLibrarian.java] limit command line length to 32000.
- [src/net/sf/antcontrib/cpptasks/devstudio/DevStudioMIDLCompiler.java] limit command line length to 32000.
- [src/net/sf/antcontrib/cpptasks/devstudio/DevStudioResourceCompiler.java] limit command line length to 32000.
- [src/net/sf/antcontrib/cpptasks/devstudio/VisualStudioNETProjectWriter.java] limit command line length to 32000.
- [src/net/sf/antcontrib/cpptasks/gcc/AbstractLdLinker.java] limit command line for Windows to 20000.
- [src/net/sf/antcontrib/cpptasks/gcc/GccCCompiler.java] limit command line for Windows to 20000.


** dll for g++ on windows changes
- [src/net/sf/antcontrib/cpptasks/compiler/AbstractProcessor.java] Added isWindows()
- [src/net/sf/antcontrib/cpptasks/gcc/GccLinker.java] refactored dllLinker to soLinker
- [src/net/sf/antcontrib/cpptasks/gcc/GppLinker.java] refactored dllLinker to soLinker
- [src/net/sf/antcontrib/cpptasks/gcc/GccLinker.java] added dllLinker for windows
- [src/net/sf/antcontrib/cpptasks/gcc/GppLinker.java] added dllLinker for windows

** -fno-rtti changes
- [src/net/sf/antcontrib/cpptasks/gcc/GccCompatibleCCompiler.java] removed -fno-rtti flag
- [src/net/sf/antcontrib/cpptasks/gcc/GccCCompiler.java] only add -fno-rtti for g++ and c++ 

** Launch process change
- [src/net/sf/antcontrib/cpptasks/compiler/CaptureStreamHandler.java] rewrote the launching of subprocesses (NARPLUGIN-71).
- [src/net/sf/antcontrib/cpptasks/compiler/CaptureStreamHandler.java] added protection against null return of run() method.

** libstdc++ linking
- [src/net/sf/antcontrib/cpptasks/CCTask.java] added method to link with CPP
- [src/net/sf/antcontrib/cpptasks/compiler/LinkType.java] added method to link with CPP
- [src/net/sf/antcontrib/cpptasks/compiler/gcc/GppLinker.java] link with or without CPP

** jni libraries (MacOS X)
- [src/net/sf/antcontrib/cpptasks/OutputTypeEnum.java] added jni
- [src/net/sf/antcontrib/cpptasks/compiler/LinkType] add jni as type
- [src/net/sf/antcontrib/cpptasks/gcc/AbstractLdLinker] added jni
- [src/net/sf/antcontrib/cpptasks/gcc/GccLinker.java] add jni as type and special linker for MacOS X to output jnilib files.
- [src/net/sf/antcontrib/cpptasks/gcc/GppLinker.java] add jni as type and special linker for MacOS X to output jnilib files.

** gfortran compiler
- [src/net/sf/antcontrib/cpptasks/gcc/GccCCompiler.java] added gfortran compiler
- [src/net/sf/antcontrib/cpptasks/CompilerEnum.java] added gfortran compiler

** intel compilers name change
- [src/net/sf/antcontrib/cpptasks/intel/IntelLinux32CLinker.java] added (icpc)
- [src/net/sf/antcontrib/cpptasks/intel/IntelLinux32Compiler.java] added (icpc)
- [src/net/sf/antcontrib/cpptasks/intel/IntelLinux64CLinker.java] added (ecpc)
- [src/net/sf/antcontrib/cpptasks/intel/IntelLinux64Compiler.java] added (ecpc)
- [src/net/sf/antcontrib/cpptasks/LinkerEnum.java] added and changed linkers 
- [src/net/sf/antcontrib/cpptasks/CompilerEnum.java] added and changed compilers.
- [src/net/sf/antcontrib/cpptasks/intel/IntelLinux32CCompiler.java] links to IntelLinux32CLinker.
- [src/net/sf/antcontrib/cpptasks/intel/IntelLinux64CCompiler.java] links to  IntelLinux64CLinker.
- [src/net/sf/antcontrib/cpptasks/intel/IntelLinux32Linker.java] changed linker name from icc to icpc for version 8.1 of Intel Compilers.
- [src/net/sf/antcontrib/cpptasks/intel/IntelLinux64Linker.java] changed linker name from ecc to ecpc for version 8.1 of Intel Compilers.

** sun c and fortran compiles
- [src/net/sf/antcontrib/cpptasks/sun/ForteCCompiler.java] added (suncc)
- [src/net/sf/antcontrib/cpptasks/sun/ForteF77Compiler.java] added (sunf77)
- [src/net/sf/antcontrib/cpptasks/sun/ForteCCLinker.java] changed -static into -staticlib=%all
- [src/net/sf/antcontrib/cpptasks/sun/ForteCCLinker.java] if last was -Bstatic reset it to -Bdynamic so that libc and libm can be found as shareables
- [src/net/sf/antcontrib/cpptasks/CompilerEnum] Added the above (suncc, sunf77).

** bug [ 1109917 ] g++ linker does not add runtime w/o other libs referenced
- [src/net/sf/antcontrib/cpptasks/compiler/CommandLineLinker] always call addLibrarySets

** bug [ 795683 ] cpptasks speedup
- [src/net/sf/antcontrib/cpptasks/DependencyTable.java] cpptasks speedup
- [src/net/sf/antcontrib/cpptasks/DependencyInfo.java] cpptasks speedup


cpptasks-parallel's People

Contributors

duns avatar chris-martin avatar

Watchers

 avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.