1. 26 Jan, 2010 1 commit
  2. 13 Jan, 2010 1 commit
    • Brad King's avatar
      KWSys: Fix SharedForward on Cygwin without -mwin32 · ba32af99
      Brad King authored
      When building on Cygwin without -mwin32, the _WIN32 macro may not be
      defined.  SharedForward must still set the PATH environment variable to
      ensure runtime dependencies are found.
      
      The 'ldd' wrapping feature uses 'cygcheck' for now since a real ldd tool
      is not available in Cygwin 1.5.  We can change to use the real ldd when
      we choose to stop supporting legacy Cygwin and require 1.7.
      ba32af99
  3. 12 Jan, 2010 1 commit
  4. 06 Jan, 2010 2 commits
  5. 16 Dec, 2009 1 commit
    • Brad King's avatar
      KWSys: Improve SharedForward platform table · ff91094c
      Brad King authored
      The SharedForward header contains a preprocessor table mapping from
      platform to equivalents for ldd and LD_LIBRARY_PATH.  This commit fixes
      the table preprocessor directives to guarantee at most one platform.
      This generalizes the commit "Fix compilation of VTK on debian/sparc".
      ff91094c
  6. 15 Dec, 2009 1 commit
    • Brad King's avatar
      KWSys: Build tests after libraries · b44279ff
      Brad King authored
      The TestSharedForward executable and TestDynload module do not actually
      link to a KWSys library, but it is nice to build them after the
      libraries just like all other test binaries.
      
      This also works around a universal binary bug in Xcode 2.x.  It forgets
      to create the output directory for the executable before linking it.  We
      avoid the problem by putting the library in the directory first.
      b44279ff
  7. 11 Dec, 2009 1 commit
    • David Cole's avatar
      Add fallback for detecting CPU speed from Windows registry on builds where... · b4b52847
      David Cole authored
      Add fallback for detecting CPU speed from Windows registry on builds where USE_ASM_INSTRUCTIONS gets defined to 0. (Win64 builds.) Clean up methods to return false when not implemented or when they fail to detect the things they're supposed to detect. This file still needs a lot more work to have a fully working implementation on Win64 builds. Committing it now because it's slightly better than it was, and there is a need for the CPU speed detection code in projects that depend on kwsys. Will file a bug shortly to request that the missing implementations get filled in...
      b4b52847
  8. 08 Dec, 2009 1 commit
    • Brad King's avatar
      KWSys: Remove default exe output path · da455f09
      Brad King authored
      KWSys should not set variables outside its namespace.  It can honor the
      EXECUTABLE_OUTPUT_PATH set by a host project, but tere is no need for it
      to set a default in the host project cache.
      da455f09
  9. 01 Dec, 2009 2 commits
    • Brad King's avatar
      KWSys: List processes with "ps -ef" on OpenSolaris · b9b9aeda
      Brad King authored
      In order to kill process trees we need to list all processes to find
      those whose parent we are killing.  We implement process listing on
      OpenSolaris by using "ps -ef" and parsing the resulting format:
      
           UID   PID  PPID   C    STIME TTY         TIME CMD
           %*s    %d    %d   %*[^\n]\n
      b9b9aeda
    • Brad King's avatar
      KWSys: Use "ps -Af" for process list on QNX · 5f7195d1
      Brad King authored
      In order to kill process trees we need to list all processes to find
      those whose parent we are killing.  We implement process listing on QNX
      using "ps -Af" and parsing the resulting format:
      
        UID        PID       PPID  C STIME TTY          TIME CMD
        %*d         %d         %d  %*[^\n]\n
      5f7195d1
  10. 30 Nov, 2009 2 commits
    • Brad King's avatar
      KWSys: Fix process tree kill on 64-bit Windows · b8b6840c
      Brad King authored
      We enumerate processes to identify those whose parent is being killed so
      that we can recursively kill the children.  Enumeration uses the
      Process32(First|Next) windows API functions, which accept PROCESSENTRY32
      objects to be filled.  This commit corrects the declaration of the entry
      structure to account for its size on 64-bit Windows.
      b8b6840c
    • Brad King's avatar
      KWSys: Restore SIGSTOP/SIGKILL to end process tree · 2988287a
      Brad King authored
      On UNIX systems we kill a tree of processes by performing a DFS walk of
      the tree.  We send SIGSTOP to each process encountered, recursively
      handle its children, and then send SIGKILL.
      
      We once used the above approach in the past, but it was removed by the
      commit "Do not send both SIGSTOP and SIGKILL when killing a process".
      The commit was meant to work-around an OS X 10.3 bug in which the child
      would not always honor SIGKILL after SIGSTOP.  At the time we wrongly
      assumed that the process tree remains intact after SIGKILL and before
      the child is reaped.  In fact the grandchildren may be re-parented to
      ppid=1 even before the child is reaped, which causes the DFS walk to
      miss them.
      2988287a
  11. 24 Nov, 2009 2 commits
  12. 23 Nov, 2009 1 commit
  13. 20 Nov, 2009 5 commits
    • Brad King's avatar
      KWSys: Set CMP0003 to NEW · 359775b9
      Brad King authored
      The commit "Enable loose loop constructs in KWSys" set the minimum
      required CMake version to 2.4.5.  This regressed the setting of CMP0003,
      so we restore it in this commit.
      359775b9
    • Brad King's avatar
      Fix KWSys FundamentalType for Universal Binaries · bf7f0ddc
      Brad King authored
      The FundamentalType header needs to know type sizes at preprocessing
      time.  This commit teaches it to avoid using CHECK_TYPE_SIZE because the
      macro does not work for types whose size varies across architectuers in
      Mac OS X universal binaries.  Fortunately the Mac compilers provide just
      enough information to detect the needed type sizes during preprocessing.
      
      We now use preprocessor macros instead of configuration tests whenever
      they are available.  As a side effect this reduces the number of
      try-compiles needed with GCC.
      
      See issue #9913.
      bf7f0ddc
    • Brad King's avatar
      Create KWSYS_PLATFORM_INFO_TEST macro · 4e6c4519
      Brad King authored
      This macro helps KWSys perform try-compile tests that extract 'INFO'
      strings out of compiled binaries.  It works for CMake 2.6 and above.
      On CMake 2.4 it always returns an empty list of information values,
      so this should be used only as an optimization until 2.6 is required.
      4e6c4519
    • Brad King's avatar
      Check for 'long long' without computing size · 9782e865
      Brad King authored
      In KWSys IOStream we need to detect whether 'long long' exists but we do
      not need its size.  We avoid using CHECK_TYPE_SIZE because it does not
      work for types whose size varies across architectuers in Mac OS X
      universal binaries.  See issue #9913.
      9782e865
    • Brad King's avatar
      Enable loose loop constructs in KWSys · daaaeb0f
      Brad King authored
      We set CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS in KWSys's CMakeLists.txt file
      to enable simpler endif() syntax for CMake 2.4.
      daaaeb0f
  14. 18 Nov, 2009 1 commit
    • David Cole's avatar
      Fix bogus calls to GetMemoryStatus and GetMemoryStatusEx: need to set the... · 22b9bef4
      David Cole authored
      Fix bogus calls to GetMemoryStatus and GetMemoryStatusEx: need to set the dwLength member of the struct prior to calling. Otherwise it's just a garbage value from the stack. Also, pay attention to return value of GetMemoryStatusEx: if it indicates failure then just return 0 without using any of the other data the call returns.
      22b9bef4
  15. 16 Nov, 2009 2 commits
  16. 15 Nov, 2009 1 commit
  17. 19 Oct, 2009 1 commit
  18. 16 Oct, 2009 2 commits
  19. 09 Oct, 2009 1 commit
  20. 08 Oct, 2009 1 commit
  21. 06 Oct, 2009 2 commits
  22. 30 Sep, 2009 1 commit
  23. 28 Sep, 2009 2 commits
    • Brad King's avatar
      Convert KWSys to OSI-approved BSD License · 62db264e
      Brad King authored
      This converts the KWSys license to a pure 3-clause OSI-approved BSD
      License.  We drop the previous license clause requiring modified
      versions to be plainly marked.  We also update the KWSys copyright to
      cover the full development time range.
      62db264e
    • Brad King's avatar
      Install KWSys Copyright.txt as documentation · 1fb49641
      Brad King authored
      This commit adds KWSys configuration option KWSYS_INSTALL_DOC_DIR to
      specify the directory for installation of documentation.  We use it to
      put the KWSys Copyright.txt file at the location
      
        ${KWSYS_INSTALL_DOC_DIR}/${KWSYS_NAMESPACE}/Copyright.txt
      
      in the project installation tree.  This helps containing projects meet
      the license requirement to distribute the copyright and license with
      binary forms.
      1fb49641
  24. 25 Sep, 2009 1 commit
  25. 24 Sep, 2009 1 commit
    • Brad King's avatar
      Restore KWSys SystemTools _WIN32 state on cygwin · f71bac73
      Brad King authored
      The commit "Fix KWSys SystemTools build on cygwin with -mwin32" tried to
      restore the state of the _WIN32 definition that was broken by the commit
      "Optimize KWSys SystemTools::FileExists on Windows".  It did so for the
      case of building with -mwin32 on cygwin, but since including <windows.h>
      defines _WIN32, it failed for the case of not using -mwin32.
      
      This commit restores the state of _WIN32 in all cases by undefining it
      after including <windows.h> if it was not defined beforehand.
      f71bac73
  26. 23 Sep, 2009 1 commit
    • Brad King's avatar
      Fix KWSys SystemTools build on cygwin with -mwin32 · 853959a4
      Brad King authored
      Commit "Optimize KWSys SystemTools::FileExists on Windows" accidentally
      added "#undef _WIN32" when including <windows.h> on cygwin, which breaks
      builds using the -mwin32 flag.  This commit removes that line and fixes
      the real error it was intended to avoid.
      853959a4
  27. 22 Sep, 2009 2 commits