updated from windows side and nearly working over there.
authorChris Koeritz <fred@gruntose.com>
Mon, 11 Nov 2013 04:24:01 +0000 (23:24 -0500)
committerChris Koeritz <fred@gruntose.com>
Mon, 11 Nov 2013 04:24:01 +0000 (23:24 -0500)
14 files changed:
nucleus/applications/utilities/time_running_app.cpp
nucleus/applications/utilities/time_set_effective_id.cpp
nucleus/library/algorithms/placeholder.cpp
nucleus/library/basis/utf_conversion.h
nucleus/library/filesystem/byte_filer.cpp
nucleus/library/tests_filesystem/test_filename.cpp
nucleus/tools/clam_tools/cygwin_fixer.cpp [deleted file]
nucleus/tools/clam_tools/makefile
nucleus/tools/clam_tools/value_tagger.cpp
production/feisty_meow_config.ini
scripts/clam/cpp/rules.def
scripts/clam/cpp/variables.def
scripts/generator/bootstrap_build.sh
scripts/generator/wrapdoze.sh [changed mode: 0755->0644]

index 7e61906bb6cf3c6179a5d24525944cb044de3268..5bbf5d13f974f9624b6e8321cf3e9fac0f048194 100644 (file)
 
 #include <stdio.h>
 
+#ifdef __WIN32__
+  #include <io.h>
+#endif
+
 using namespace application;
 using namespace basis;
 using namespace loggers;
index 21a7c59d70e01ee6ed6015a4754f77f857ddfac4..07dda37edbbdac7a18261353868e1f549fb9e8a2 100644 (file)
@@ -48,6 +48,7 @@ int time_set_effective_id::execute()
   FUNCDEF("execute");
   SETUP_COMBO_LOGGER;
 
+#ifndef __WIN32__
   int test_runs = 1000000;
 
   time_stamp start;  // start of test.
@@ -72,6 +73,7 @@ int time_set_effective_id::execute()
   LOG(a_sprintf("test run took %0.2f milliseconds or %0.2f seconds or %0.2f minutes.", durat, secs, secs / 60.0));
   // divide by two because we're doing two calls above.
   LOG(a_sprintf("individual call takes %0.0f milliseconds.", durat / double(test_runs) / 2.0));
+#endif
 
   return 0;
 }
index 72516564f490e2ea0d35d982888d3d8fa858bae8..953ca62cca6073b2f7d73c57eaad60085bfda22f 100644 (file)
@@ -3,5 +3,6 @@
 // sole purpose of this is to make the lib be generated,\r
 // even though we currently do not have any code that lives inside it.\r
 \r
-\r
 int __private_private_bogus_placeholder_xj27_qx19() { return 32; }\r
+\r
+\r
index 33d436eb6010a0c45a31a4010a623d6442b89862..dcb8b16bf5d01d549c4595a3424ce4b659564eed 100644 (file)
@@ -190,6 +190,7 @@ Booleano isLegalUTF8Sequence(const UTF8 *source, const UTF8 *sourceEnd);
 // compliant functions that required Unicode in win32 but not in Unix systems.
 
 #if defined(UNICODE)
+#error should not be in here right now --cak
 ///holding to test wx && defined(__WIN32__)
   //! to_unicode_temp() converts to UTF-16 as needed for win32 system calls.
   /*! this conversion is only appropriate to use within expressions.  it does
index bc6779c4f0b0be0ef4da9fba650b3787fb62be7a..0384d2ec74f8328506eef10d7176465d27d33439 100644 (file)
@@ -29,7 +29,7 @@
   #include <io.h>
 #endif
 
-//#define DEBUG_BYTE_FILER
+#define DEBUG_BYTE_FILER
   // uncomment for noisy version of class.
 
 using namespace basis;
@@ -88,19 +88,8 @@ bool byte_filer::open(const astring &fname, const astring &perms)
   close();
   _auto_close = true;  // reset since we know we're opening this.
   _filename->reset(fname);
-#ifndef __WIN32__
   _handle->fp = _filename->raw().t()? fopen(_filename->raw().s(), perms.s()) : NIL;
-#else
-  _handle->fp = _filename->raw().t()? _wfopen((wchar_t *)(UTF16 *)transcode_to_utf16(_filename->raw()),
-      (wchar_t *)(UTF16 *)transcode_to_utf16(perms)) : NIL;
-
-#ifdef DEBUG_BYTE_FILER
-  if (!_handle->fp)
-    wprintf((wchar_t *)(UTF16 *)transcode_to_utf16("could not open: %ls\n"),
-        (wchar_t *)(UTF16 *)transcode_to_utf16(_filename->raw()));
-#endif
-
-#endif
+  if (_handle->fp == NIL) return false;
   return good();
 }
 
index 6fa80759ceac3b118a564f0ab4a5a9697a3b3e7c..54bba456d58d952109f11095c74695c8cc7f7d5c 100644 (file)
@@ -259,7 +259,7 @@ int test_filename::execute()
     filename test17("r/");
     ASSERT_EQUAL(test17, astring("r\\"), GROUP + "test 17 failed");
     filename test18("/kr/soop");
-    ASSERT_NOT_EQUAL(test18, astring("\\kr\\soop"), GROUP + "test 18 failed");
+    ASSERT_INEQUAL(test18, astring("\\kr\\soop"), GROUP + "test 18 failed");
   }
 #endif
 
diff --git a/nucleus/tools/clam_tools/cygwin_fixer.cpp b/nucleus/tools/clam_tools/cygwin_fixer.cpp
deleted file mode 100644 (file)
index 48eba3f..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-//need header here.
-
-// make ms be quiet about strncat.
-#define _CRT_SECURE_NO_WARNINGS
-
-#ifdef _MSC_VER
-#include <io.h>
-#else
-#include <unistd.h>
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-// turns the cygwin name format into a usable windos filename.
-char *translate_cygwin(char *fname)
-{
-  int oldlen = strlen(fname);
-  if (!strncmp(fname, "/cygdrive/", 10) && (oldlen > 10) ) {
-    // in the first case the filename has /cygdrive in it, right at the front.
-    char *newprefix = (char *)malloc(oldlen);
-    // build the drive letter first.
-    newprefix[0] = fname[10];
-    newprefix[1] = ':';
-    newprefix[2] = '\0';
-    // concatenate the filename without cygdrive in it.
-    strncat(newprefix, fname + 11, oldlen - 11 + 1);  // one extra for null char.
-    return newprefix;  // mem leak here; cannot be helped for quick fix using functional style.
-  } else if ( (fname[0] == '-') && (oldlen > 12)
-      && (!strncmp(fname + 2, "/cygdrive/", 10)) ) {
-    // in the second case we are looking for command line options.  this code handles a parameter
-    // that starts with a single dash and has a single flag character after that.
-    char *newprefix = (char *)malloc(oldlen);
-    newprefix[0] = fname[0];
-    newprefix[1] = fname[1];
-    newprefix[2] = fname[12];
-    newprefix[3] = ':';
-    newprefix[4] = '\0';
-    // now concatenate the useful filename portion, offset by the flag found.
-    strncat(newprefix, fname + 13, oldlen - 13 + 1);  // one extra for null char.
-    return newprefix;
-  } else {
-    return fname;
-  }
-}
-
-/*
-
-function dossify_and_run_commands()
-{
-
-  declare -a darc_commands=()
-  for i in "$@"; do
-    // we only mess with the command line on windows.
-    if [ "$OS" == "Windows_NT" ]; then
-      if [[ "$i" =~ ^-[a-zA-z][/\"].* ]]; then
-#echo matched on our pattern for parameters
-        flag="${i:0:2}"
-        filename="$(unix_to_dos_path ${i:2})"
-
-#echo "first two chars are $flag"
-#echo "last after that are $filename"
-#combined="$flag$filename"
-#echo combined is $combined
-      
-        darc_commands+=("$flag$filename")
-      else 
-        darc_commands+=($(unix_to_dos_path $i))
-      fi
-    else
-      darc_commands+=("$i")
-    fi
-  done
-
-}
-
-*/
-
-int main(int argc, char *argv[])
-{
-  for (int i = 1; i < argc; i++) {
-    printf("%s", translate_cygwin(argv[i]));
-  }
-  return 0;
-}
-
-#ifdef __BUILD_STATIC_APPLICATION__
-  // static dependencies found by buildor_gen_deps.sh:
-#endif // __BUILD_STATIC_APPLICATION__
-
index 735786389f285c9a93856af82fcc1b0cb1a1a73e..b68698926092308e66aa229e4651a419b9f69c4d 100644 (file)
@@ -13,7 +13,7 @@ DEFINITIONS += __BUILD_STATIC_APPLICATION__
 ifeq "$(OMIT_VERSIONS)" ""
   SOURCE += clamtools_version.rc 
 endif
-TARGETS = cygwin_fixer.exe value_tagger.exe version_stamper.exe vsts_version_fixer.exe write_build_config.exe
+TARGETS = value_tagger.exe version_stamper.exe vsts_version_fixer.exe write_build_config.exe
 
 include cpp/rules.def
 
index 4308bacf7ad0e72dcf853c94e1da99f633ccf720..2bac060202684e8b54325aa4c12ab9d4e7af1e9b 100644 (file)
@@ -229,6 +229,7 @@ int value_tagger::print_instructions_and_exit()
 {
   LOG(a_sprintf("%s usage:", filename(_global_argv[0]).basename().raw().s()));
   LOG("");
+
   LOG("\
 This utility scans a code base for outcome and filter definitions.  It will\n\
 only scan the header files (*.h) found in the directories specified.  The\n\
index aaf1e575fa3670306e0c42c3260d25a66371248b..aca7bb1e08bec393728d11d6fd77806a0e185713 100755 (executable)
@@ -68,13 +68,8 @@ endif
 # this flag selects whether to build with unicode enabled.  this mainly affects
 # win32 OSes, and right now we know it affects them badly if this is enabled.
 # unix may build slightly differently too, such as for WX widgets.
-ifeq "$(OP_SYSTEM)" "WIN32"
-###
-### do not enable on win32 right now.
-###  DEFINITIONS += UNICODE=t
-###
-else
-  DEFINITIONS += UNICODE=t
+ifneq "$(OP_SYSTEM)" "WIN32"
+#  DEFINITIONS += UNICODE=t
 endif
 
 # if this flag is turned on, then memory allocations will be trapped for
index 6e5651627c0300dda0b5e107906332b3534162ca..ee8c7d6ff383413edaf0f2b810f716c6ad98009e 100644 (file)
@@ -500,7 +500,9 @@ $(DYNAMIC_LIBRARY_DIR)/%.dll: $(ACTUAL_OBJECTS:%=$(OBJECT_DIR)/%) $(ACTUAL_LOCAL
        $(HIDESH)-c 'if [ -f $(BUILD_LIST_FILE) ]; then $(SHELL) $(CLAM_DIR)/cpp/rebuild_oldies.sh $(MULTI_BUILD_CMD); fi'
   endif
        $(HIDER)rm -f $(@:%.dll=%.lib)
+       echo about to run link tool.
        $(CATCHER)$(LINK_TOOL) $(LINKER_OUTPUT_FLAG)$@ -dll $(LOAD_FLAG_PREFIX) $(ACTUAL_OBJECTS:%=$(OBJECT_DIR)/%) $(ACTUAL_RESX_FLAGS) $(ACTUAL_LOCAL_LIBS:%=$(LIBRARY_NAME_FLAG)$(LIB_PREFIX)%$(LIB_ENDING)) $(LOAD_FLAG_SUFFIX)
+       echo ran link tool.
   ifeq "$(COMPILER_VERSION)" "8"
        $(HIDESH)$(CLAM_DIR)/cpp/ms_manifest.sh "$@" "2"
   endif
index dcf704612a6912a5f48f9ce2687635fef5018016..2a7b21ac7048a363d4f2ee915487de8d5c13efc9 100644 (file)
@@ -674,6 +674,7 @@ ifeq "$(COMPILER)" "VISUAL_CPP"
   # set these way up here so we can override them later.
   CC = $(BUILD_SCRIPTS_DIR)/wrapdoze.sh $(COMPILER_ROOT_DIR)/bin/cl.exe
   LINK_TOOL = $(BUILD_SCRIPTS_DIR)/wrapdoze.sh $(COMPILER_ROOT_DIR)/bin/link.exe
+  LIBRARY_TOOL = $(BUILD_SCRIPTS_DIR)/wrapdoze.sh $(COMPILER_ROOT_DIR)/bin/lib
 
   # This is needed to protect against the use of 64-bit time_t structure
   # on windows.  We are casting to time_t from a 32-bit structure.
@@ -683,19 +684,19 @@ ifeq "$(COMPILER)" "VISUAL_CPP"
   ifeq "$(COMPILER_VERSION)" "6"
     COMPILER_HEADER_DIR = $(COMPILER_ROOT_DIR)/include $(COMPILER_ROOT_DIR)/atl/include
     COMPILER_LIBRARY_DIR = $(COMPILER_ROOT_DIR)/lib $(COMPILER_ROOT_DIR)/atl/lib
-    RC = $(COMPILER_ROOT_DIR)/../common/msdev98/bin/rc
+    RC = $(BUILD_SCRIPTS_DIR)/wrapdoze.sh $(COMPILER_ROOT_DIR)/../common/msdev98/bin/rc
   endif
   ifeq "$(COMPILER_VERSION)" "7"
     COMPILER_HEADER_DIR = $(COMPILER_ROOT_DIR)/include $(COMPILER_ROOT_DIR)/atlmfc/include $(COMPILER_ROOT_DIR)/platformsdk/include $(FRAMEWORK_DIR)
     COMPILER_LIBRARY_DIR = $(COMPILER_ROOT_DIR)/lib $(COMPILER_ROOT_DIR)/atlmfc/lib $(COMPILER_ROOT_DIR)/platformsdk/lib
-    RC = $(COMPILER_ROOT_DIR)/bin/rc
+    RC = $(BUILD_SCRIPTS_DIR)/wrapdoze.sh $(COMPILER_ROOT_DIR)/bin/rc
     COMPILER_FLAGS += -Zc:forScope
       # turn on proper loop scoping.
   endif
   ifeq "$(COMPILER_VERSION)" "8"
     COMPILER_HEADER_DIR = $(COMPILER_ROOT_DIR)/include $(COMPILER_ROOT_DIR)/atlmfc/include $(COMPILER_ROOT_DIR)/platformsdk/include $(FRAMEWORK_DIR)
     COMPILER_LIBRARY_DIR = $(COMPILER_ROOT_DIR)/lib $(COMPILER_ROOT_DIR)/atlmfc/lib $(COMPILER_ROOT_DIR)/platformsdk/lib
-    RC = $(COMPILER_ROOT_DIR)/bin/rc
+    RC = $(BUILD_SCRIPTS_DIR)/wrapdoze.sh $(COMPILER_ROOT_DIR)/bin/rc
     COMPILER_FLAGS += -Zc:forScope
       # turn on proper loop scoping.
     DEFINITIONS += _WIN32_WINNT=0x501 
@@ -711,7 +712,7 @@ ifeq "$(COMPILER)" "VISUAL_CPP"
     COMPILER_LIBRARY_DIR = $(COMPILER_ROOT_DIR)/lib $(COMPILER_ROOT_DIR)/atlmfc/lib $(PLATYPUS)/lib
     DEFINITIONS += _WIN32_WINNT=0x501 
     DEPENDENCY_DEFINITIONS += _WIN32_WINNT=0x501 
-    RC = $(PLATYPUS)/bin/rc
+    RC = $(BUILD_SCRIPTS_DIR)/wrapdoze.sh $(PLATYPUS)/bin/rc
     COMPILER_FLAGS += -Zc:forScope
       # turn on proper loop scoping.
   endif
@@ -731,7 +732,6 @@ ifeq "$(COMPILER)" "VISUAL_CPP"
 
   DEFINITIONS += _Windows _WINDOWS WIN32 __WIN32__ __FLAT__ VC_EXTRALEAN WIN32_LEAN_AND_MEAN ATL_NO_LEAN_AND_MEAN 
   DEF_FILE =
-  LIBRARY_TOOL = $(COMPILER_ROOT_DIR)/bin/lib
   LOAD_FLAG_PREFIX = -subsystem:windows -machine:X86 -nologo
   LOAD_FLAG_SUFFIX =
 
index 0e2886e11ef7aec60764ee95f0943c6d0c7a6212..4e074a60438b21aa39d20d542ca3399addb34863 100644 (file)
@@ -225,7 +225,6 @@ if [ ! -f "$BINARY_DIR/value_tagger$EXE_ENDING" \
   promote version_stamper  # used for version stamping.
   promote vsts_version_fixer  # used for version stamping.
   promote write_build_config  # creates a header of build-specific config info.
-  promote cygwin_fixer  # translates cygwin paths into dos-style equivalents.
 
   popd &>/dev/null
 fi
old mode 100755 (executable)
new mode 100644 (file)
index 3f133b9..9aa543e
@@ -2,17 +2,20 @@
 
 source $FEISTY_MEOW_SCRIPTS/core/functions.sh
 
+# for a windows build, this will replace any forward slashes
+# and other cygwin notation with the appropriate dos style paths.
 function dossify_and_run_commands()
 {
-  # we only mess with the command line on windows...
   if [ "$OS" != "Windows_NT" ]; then
     # for non windows, just run the commands straight up.
     eval "${@}"
     return $?
   fi
 
+  # force all slashes to be dossy.
+#  export SERIOUS_SLASH_TREATMENT=true
+
   declare -a darc_commands=()
-#hmmm: may need the serious slash treatment.
 
   for i in "$@"; do
     if [[ "$i" =~ ^-[a-zA-z][/\"].* ]]; then
@@ -33,13 +36,13 @@ function dossify_and_run_commands()
     real_commands+=($(echo $i | sed -e 's/\\/\\\\/g'))
   done
 
-#temp!
-  echo commands are now:
-  for i in "${real_commands[@]}"; do
-    echo -n "$i "
-  done
-  echo
-#end temp
+  if [ ! -z "$SHELL_DEBUG" ]; then
+    echo commands are now:
+    for i in "${real_commands[@]}"; do
+      echo -n "$i "
+    done
+    echo
+  fi
 
   # now actually run the chewed command.
   cmd /c "${real_commands[@]}"