Changeset 8c5fa53 in tol


Ignore:
Timestamp:
May 8, 2015, 3:50:19 PM (11 years ago)
Author:
Jorge Pérez <josp.jorge@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
0cc1a53
Parents:
aecf1e4
Message:

refs #1812, #1818, closes #1846, se actualizan los contribs con una compilacion haciendo uso de la opcion -mno-aling-double.

Ver actualizacion en lasinstrucciones de compilacion en ​https://www.tol-project.org/wiki/CompileMINGW32

Importante los paquetes binarios deben recompilarse todos usando la opcion de configuracion -DCMAKE_TOOLCHAIN_FILE=..\..\..\tol\cmake\mingw-m32.toolchain.cmake

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@6658 be4846ae-f051-483a-831f-b64e7d08527f

Files:
6 edited

Legend:

Unmodified
Added
Removed
  • tol/CMakeLists.txt

    raecf1e4 r8c5fa53  
    55  if( CMAKE_BUILD_TYPE MATCHES Debug )
    66    set( TOL_EXTERNAL_PREFIX "${TOL_EXTERNAL_DEVEL_DIR}/debug" )
    7     set( CMAKE_CXX_FLAGS_DEBUG "-O0 -ggdb -mno-align-double" )
    8     set( CMAKE_C_FLAGS_DEBUG "-O0 -ggdb -mno-align-double" )
    97  else( CMAKE_BUILD_TYPE MATCHES DEBUG )
    108    set( TOL_EXTERNAL_PREFIX "${TOL_EXTERNAL_DEVEL_DIR}/release" )
    11     set( CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG -mno-align-double" )
    12     set( CMAKE_C_FLAGS_RELEASE "-O2 -DNDEBUG -mno-align-double" )
    139  endif( CMAKE_BUILD_TYPE MATCHES Debug )
    1410  set( CMAKE_PREFIX_PATH "${TOL_EXTERNAL_PREFIX}" ${CMAKE_PREFIX_PATH} )
    … …  
    1713  set( CBLAS_DIR "${TOL_EXTERNAL_PREFIX}" )
    1814  set( CLAPACK_DIR "${TOL_EXTERNAL_PREFIX}" )
    19   set( ZIPARCHIVE_AS_STATIC 1 )
     15  set( ZIPARCHIVE_AS_STATIC 0 )
    2016  set( CINT_ROOT_DIR "${TOL_EXTERNAL_PREFIX}/include/cint" )
    2117  set( PKG_FFTW_LIBRARY_DIRS "${TOL_EXTERNAL_PREFIX}/lib" CACHE INTERNAL "" )
    … …  
    4844
    4945if ( MINGW )
    50   add_definitions( "-Wno-attributes" )
     46  #add_definitions( "-Wno-attributes" )
     47  add_definitions( "-Wall" )
    5148endif( MINGW )
    5249if( WIN32 )
    … …  
    244241
    245242# BOOST configuration
    246 find_package( Boost REQUIRED COMPONENTS thread system )
     243find_package( Boost REQUIRED COMPONENTS thread system filesystem )
    247244
    248245if( Boost_FOUND AND TRACE_COMPONENTS_FOUND )
    … …  
    396393add_custom_target( COPY_HEADERS ALL DEPENDS ${COPY_HEADERS_DEPENDS} )
    397394
    398 if( WIN32 AND TOL_EXTERNAL_DEVEL_DIR )
    399   file( TO_CMAKE_PATH "${TOL_EXTERNAL_DEVEL_DIR}/Runtime_Base" rt_base_dir )
    400   install( DIRECTORY "${rt_base_dir}/bin" "${rt_base_dir}/lib" "${rt_base_dir}/include"
    401     COMPONENT RUNTIME DESTINATION "." )
    402   install( DIRECTORY "${rt_base_dir}/include"
    403     COMPONENT DEVEL DESTINATION "." )
    404   file( TO_CMAKE_PATH "${TOL_EXTERNAL_PREFIX}/include" devel_include_dir )
    405   install( DIRECTORY "${devel_include_dir}/google"
    406     COMPONENT DEVEL DESTINATION "include" )
    407   install( DIRECTORY "${devel_include_dir}/sparsehash"
    408     COMPONENT DEVEL DESTINATION "include" )
    409   install( DIRECTORY "${devel_include_dir}/libltdl"
    410     COMPONENT DEVEL DESTINATION "include" )
    411   install( FILES "${devel_include_dir}/ltdl.h" COMPONENT DEVEL DESTINATION include )
    412   install( DIRECTORY "${devel_include_dir}/gsl"
    413     COMPONENT DEVEL DESTINATION "include" )
    414   file( TO_CMAKE_PATH "${TOL_EXTERNAL_PREFIX}/lib" devel_lib_dir )
    415   install( FILES "${devel_lib_dir}/libltdl.dll.a" COMPONENT DEVEL DESTINATION lib )
    416   install( FILES "${devel_lib_dir}/libgsl.dll.a" COMPONENT DEVEL DESTINATION lib )
    417   install( FILES "${devel_lib_dir}/libgslcblas.dll.a" COMPONENT DEVEL DESTINATION lib )
    418  
    419   #message( STATUS "Looking dll's at ${TOL_EXTERNAL_PREFIX}/bin" )
    420   file( TO_CMAKE_PATH "${TOL_EXTERNAL_PREFIX}/bin/*.dll" dll_pattern )
    421   file( GLOB RT_DLL  ${dll_pattern} )
    422   #message( STATUS "Result: ${RT_DLL}" )
    423   list( APPEND RT_DLL ${LAPACK_LIBRARIES} )
    424   #message( STATUS ${RT_DLL} )
    425   install( FILES ${RT_DLL} COMPONENT RUNTIME DESTINATION bin )
    426 endif( )
    427 
    428395install( TARGETS tolcon RUNTIME DESTINATION bin )
    429396install( TARGETS tol
    … …  
    431398install( DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/tol"
    432399  DESTINATION "include"
     400  COMPONENT DEVELOPMENT
    433401  FILES_MATCHING PATTERN "*.h" )
    434402install( DIRECTORY stdlib COMPONENT RUNTIME DESTINATION "bin"
    … …  
    436404  PATTERN "*.bst"
    437405  PATTERN "*.oza" )
     406
     407if( WIN32 AND TOL_EXTERNAL_DEVEL_DIR )
     408  if( NOT EXISTS ${CMAKE_INSTALL_PREFIX}/bin )
     409    file( MAKE_DIRECTORY ${CMAKE_INSTALL_PREFIX}/bin )
     410  endif( )
     411  if( NOT EXISTS ${CMAKE_INSTALL_PREFIX}/lib )
     412    file( MAKE_DIRECTORY ${CMAKE_INSTALL_PREFIX}/lib )
     413  endif( )
     414  if( NOT EXISTS ${CMAKE_INSTALL_PREFIX}/include )
     415    file( MAKE_DIRECTORY ${CMAKE_INSTALL_PREFIX}/include )
     416  endif( ) 
     417  file( TO_CMAKE_PATH "${TOL_EXTERNAL_PREFIX}/bin/*.dll" dll_pattern )
     418  file( GLOB RT_DLL  ${dll_pattern} )
     419  list( APPEND RT_DLL ${LAPACK_LIBRARIES} )
     420  foreach( dll libclapack.dll libcblas.dll libboost_filesystem.dll libboost_system.dll)
     421    list( APPEND RT_DLL "${TOL_EXTERNAL_PREFIX}/lib/${dll}" )
     422  endforeach( )
     423  list( GET RT_DLL 0 rt_dll0)
     424  get_filename_component( name_rt_dll0 ${rt_dll0} NAME )
     425  if( NOT EXISTS "${CMAKE_INSTALL_PREFIX}/bin/${name_rt_dll0}" )
     426    file( INSTALL ${RT_DLL} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" )
     427  endif( NOT EXISTS "${CMAKE_INSTALL_PREFIX}/bin/${name_rt_dll0}" )
     428  if( NOT EXISTS "${CMAKE_INSTALL_PREFIX}/lib/tkdnd" )
     429    file( GLOB tcl-libs "${TOL_EXTERNAL_DEVEL_DIR}/tcl-libs/*" )
     430    file( INSTALL ${tcl-libs} DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" )
     431  endif( NOT EXISTS "${CMAKE_INSTALL_PREFIX}/lib/tkdnd" )
     432  if( NOT EXISTS "${CMAKE_INSTALL_PREFIX}/lib/tcl8.4" )
     433    file( INSTALL
     434          "${TOL_EXTERNAL_PREFIX}/lib/dde1.3"
     435          "${TOL_EXTERNAL_PREFIX}/lib/reg1.2"
     436          "${TOL_EXTERNAL_PREFIX}/lib/tcl8.4"
     437          "${TOL_EXTERNAL_PREFIX}/lib/TclCurl7.22.0"
     438          "${TOL_EXTERNAL_PREFIX}/lib/tk8.4"
     439          DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" )
     440  endif( NOT EXISTS "${CMAKE_INSTALL_PREFIX}/lib/tcl8.4" )
     441  if( NOT EXISTS "${CMAKE_INSTALL_PREFIX}/include/tcl.h" )
     442    file( GLOB tcl_h "${TOL_EXTERNAL_PREFIX}/include/tcl*.h" )
     443    file( GLOB tk_h "${TOL_EXTERNAL_PREFIX}/include/tk*.h" )
     444    file( INSTALL ${tcl_h} DESTINATION "${CMAKE_INSTALL_PREFIX}/include" )
     445    file( INSTALL ${tk_h} DESTINATION "${CMAKE_INSTALL_PREFIX}/include" )
     446    file( INSTALL "${TOL_EXTERNAL_PREFIX}/include/X11" DESTINATION "${CMAKE_INSTALL_PREFIX}/include" )
     447  endif( NOT EXISTS "${CMAKE_INSTALL_PREFIX}/include/tcl.h" )
     448  if( NOT EXISTS "${CMAKE_INSTALL_PREFIX}/include/google" )
     449    file( INSTALL
     450          "${TOL_EXTERNAL_PREFIX}/include/google"
     451          "${TOL_EXTERNAL_PREFIX}/include/sparsehash"
     452          "${TOL_EXTERNAL_PREFIX}/include/libltdl"
     453          "${TOL_EXTERNAL_PREFIX}/include/ltdl.h"
     454          "${TOL_EXTERNAL_PREFIX}/include/gsl"
     455          DESTINATION "${CMAKE_INSTALL_PREFIX}/include" )
     456  endif( NOT EXISTS "${CMAKE_INSTALL_PREFIX}/include/google" )
     457  message( STATUS "queee ${CMAKE_INSTALL_PREFIX}/lib/libltdl.dll.a")
     458  if( NOT EXISTS "${CMAKE_INSTALL_PREFIX}/lib/libltdl.dll.a" )
     459    file( INSTALL
     460          "${TOL_EXTERNAL_PREFIX}/lib/libltdl.dll.a"
     461          "${TOL_EXTERNAL_PREFIX}/lib/libgsl.dll.a"
     462          "${TOL_EXTERNAL_PREFIX}/lib/libgslcblas.dll.a"
     463          DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" )
     464  endif( NOT EXISTS "${CMAKE_INSTALL_PREFIX}/lib/libltdl.dll.a" )
     465  file( GLOB tcl_a "${TOL_EXTERNAL_PREFIX}/lib/libtcl*.a" )
     466  message( "tcl_a = ${tcl_a}")
     467  list( GET tcl_a 0 tcl_a0 )
     468  get_filename_component( name_tcl_a0 ${tcl_a0} NAME )
     469  if( NOT EXISTS "${CMAKE_INSTALL_PREFIX}/lib/${name_tcl_a0}" )
     470    file( GLOB tk_a "${TOL_EXTERNAL_PREFIX}/lib/libtk*.a" )
     471    file( INSTALL ${tcl_a} ${tk_a}
     472          DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" )
     473  endif( NOT EXISTS "${CMAKE_INSTALL_PREFIX}/lib/${name_tcl_a0}" ) 
     474
     475endif( WIN32 AND TOL_EXTERNAL_DEVEL_DIR )
    438476
    439477set(CPACK_PACKAGE_NAME "TOL")
  • tol/bbasic/dir.cpp

    raecf1e4 r8c5fa53  
    6565#endif
    6666
     67#include "boost/filesystem.hpp"
     68
    6769BTraceInit("dir.cpp");
    6870
    … …  
    272274//--------------------------------------------------------------------
    273275{
     276#if defined( WIN32 ) && defined( __GNUC__ )
     277  const char *name = fileName.String();
     278  if ( boost::filesystem::exists( name ) && boost::filesystem::is_regular_file( name ) )
     279    {
     280    return boost::filesystem::file_size( name );
     281    }
     282  return 0;
     283#else
    274284  struct stat fileStat;
    275285  BInt   nBytes=0; // fileStat type is off_t that is long and BInt is long
    … …  
    277287  stat(fileName.String(), &fileStat);
    278288  nBytes=(BInt)fileStat.st_size;
    279 
     289 
    280290  return(nBytes);
     291#endif
    281292}
    282293
  • tol/cmake/mingw-m32.toolchain.cmake

    raecf1e4 r8c5fa53  
    55set( CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -ggdb" CACHE STRING "c++ flags in Debug" )
    66set( CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -ggdb" CACHE STRING "c flags in Debug" )
    7 set( CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2" CACHE STRING "c++ flags in Release" )
    8 set( CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2" CACHE STRING "c flags in Release" )
     7set( CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNDEBUG  -O2" CACHE STRING "c++ flags in Release" )
     8set( CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNDEBUG -O2" CACHE STRING "c flags in Release" )
    99set( LINKER_SHARED_FLAGS "${LINKER_SHARED_FLAGS} -m32" CACHE STRING "linker flags" )
  • tolbase/CMakeLists.txt

    raecf1e4 r8c5fa53  
    2222# look for tcl
    2323if ( WIN32 AND TOL_PREFIX_PATH )
    24   set( TCL_LIBRARY_PATH "${TOL_PREFIX_PATH}/lib" )
    25   message( STATUS "buscando dll en = ${TOL_PREFIX_PATH}/bin" )
     24  if( CMAKE_BUILD_TYPE STREQUAL "Debug" )
     25    set( g "g" )
     26  endif( CMAKE_BUILD_TYPE STREQUAL "Debug" )
     27  file( TO_CMAKE_PATH "${TOL_PREFIX_PATH}" TCL_LIBRARY_PATH )
     28  set( TCL_LIBRARY_PATH "${TCL_LIBRARY_PATH}/lib" )
     29  message( STATUS "buscando tcl libs en ${TCL_LIBRARY_PATH} libtcl84" )
    2630  find_library( TCL_LIBRARY
    2731      NAMES "tcl84" "tcl85" "tcl86"
    … …  
    4953if( TCL_FOUND )
    5054  message( STATUS ${TCL_INCLUDE_PATH} )
    51   message( STATUS ${TCL_LIBRARY_PATH} )
    5255  get_filename_component( CMAKE_INSTALL_PREFIX ${TCL_LIBRARY_PATH} PATH )
    5356  message( STATUS "Using CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}" )
  • tolbase/generic/CMakeLists.txt

    raecf1e4 r8c5fa53  
    44message( STATUS "Using TCL_INCLUDE_PATH = ${TCL_INCLUDE_PATH}" )
    55message( STATUS "Using TCL_LIBRARY = ${TCL_LIBRARY}" )
    6 message( STATUS "Using TK_LIBRARY = ${TCL_LIBRARY}" )
     6message( STATUS "Using TK_LIBRARY = ${TK_LIBRARY}" )
    77
    88if ( WIN32 )
  • toltcl/CMakeLists.txt

    raecf1e4 r8c5fa53  
    2222# look for tcl
    2323if ( WIN32 AND TOL_PREFIX_PATH )
    24   set( TCL_LIBRARY_PATH "${TOL_PREFIX_PATH}/lib" )
     24  if( CMAKE_BUILD_TYPE STREQUAL "Debug" )
     25    set( g "g" )
     26  endif( CMAKE_BUILD_TYPE STREQUAL "Debug" )
     27  file( TO_CMAKE_PATH "${TOL_PREFIX_PATH}" TCL_LIBRARY_PATH )
     28  set( TCL_LIBRARY_PATH "${TCL_LIBRARY_PATH}/lib" )
     29  message( STATUS "buscando tcl libs en ${TCL_LIBRARY_PATH} libtclstub84" )
    2530  find_library( TCL_STUB_LIBRARY
    2631      NAMES "libtclstub84" "libtclstub85" "libtclstub86"
    … …  
    2833      NO_DEFAULT_PATH
    2934    )
    30   message( STATUS "buscando dll en = ${TOL_PREFIX_PATH}/bin" )
    3135  find_library( TCL_LIBRARY
    32       NAMES "tcl84" "tcl85" "tcl86"
     36      NAMES "libtcl84" "libtcl85" "libtcl86"
    3337      PATHS "${TCL_LIBRARY_PATH}"
    3438      NO_DEFAULT_PATH
Note: See TracChangeset for help on using the changeset viewer.