lucy-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mar...@apache.org
Subject svn commit: r896262 - in /lucene/lucy/trunk/charmonizer/src/Charmonizer: ./ Core/ Probe/
Date Tue, 05 Jan 2010 23:03:29 GMT
Author: marvin
Date: Tue Jan  5 23:03:24 2010
New Revision: 896262

URL: http://svn.apache.org/viewvc?rev=896262&view=rev
Log:
Refactor Charmonizer/Core/ConfWriter, parceling out some features that made
sense when it was named "ModHandler", but no longer belong there.  (LUCY-95)

Modified:
    lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/Compiler.c
    lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/Compiler.h
    lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/ConfWriter.c
    lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/ConfWriter.h
    lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/HeaderChecker.c
    lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/OperatingSystem.c
    lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/OperatingSystem.h
    lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe.c
    lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/AtomicOps.c
    lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/DirManip.c
    lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/Floats.c
    lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/FuncMacro.c
    lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/Headers.c
    lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/Integers.c
    lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/LargeFiles.c
    lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/UnusedVars.c
    lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/VariadicMacros.c

Modified: lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/Compiler.c
URL: http://svn.apache.org/viewvc/lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/Compiler.c?rev=896262&r1=896261&r2=896262&view=diff
==============================================================================
--- lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/Compiler.c (original)
+++ lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/Compiler.c Tue Jan  5 23:03:24 2010
@@ -7,9 +7,16 @@
 #include "Charmonizer/Core/ConfWriter.h"
 #include "Charmonizer/Core/OperatingSystem.h"
 
+/* Temporary files. */
+#define TRY_SOURCE_PATH  "_charmonizer_try.c"
+#define TRY_APP_BASENAME "_charmonizer_try"
+#define TARGET_PATH      "_charmonizer_target"
+
+/* Static vars. */
 static char     *cc_command   = NULL;
 static char     *cc_flags     = NULL;
 static char    **inc_dirs     = NULL;
+static char     *try_app_name = NULL;
 
 /* Detect a supported compiler, or assume a generic GCC-compatible compiler
  * and hope for the best.  */
@@ -30,6 +37,11 @@
 static char *exe_flag          = "-o ";
 #endif
 
+/* Clean up the files associated with CC_capture_output().
+ */
+static void
+S_clean_up_try();
+
 static void
 S_do_test_compile();
 
@@ -48,6 +60,14 @@
     /* Add the current directory as an include dir. */
     CC_add_inc_dir(".");
 
+    /* Set the name of the application which we "try" to execute. */
+    {
+        const char *exe_ext = OS_exe_ext();
+        size_t len = strlen(TRY_APP_BASENAME) + strlen(exe_ext) + 1;
+        try_app_name = (char*)malloc(len);
+        sprintf(try_app_name, "%s%s", TRY_APP_BASENAME, exe_ext);
+    }
+
     /* If we can't compile anything, game over. */
     S_do_test_compile();
 }
@@ -110,19 +130,14 @@
     Util_write_file(source_path, code);
 
     /* Prepare and run the compiler command. */
-    if (Util_verbosity < 2 && chaz_ConfWriter_charm_run_available) {
-        sprintf(command, "%s %s %s %s%s %s %s",
-            "_charm_run ", 
-            cc_command, source_path, 
-            exe_flag, exe_file, 
-            inc_dir_string, cc_flags);
-        OS_run_local(command, NULL);
+    sprintf(command, "%s %s %s%s %s %s",
+        cc_command, source_path, 
+        exe_flag, exe_file, 
+        inc_dir_string, cc_flags);
+    if (Util_verbosity < 2) {
+        OS_run_quietly(command);
     }
     else {
-        sprintf(command, "%s %s %s%s %s %s", 
-            cc_command, source_path,
-            exe_flag, exe_file,
-            inc_dir_string, cc_flags);
         system(command);
     }
 
@@ -159,21 +174,15 @@
     Util_write_file(source_path, code);
 
     /* Prepare and run the compiler command. */
-    if (Util_verbosity < 2 && chaz_ConfWriter_charm_run_available) {
-        sprintf(command, "%s %s %s %s%s %s %s",
-            "_charm_run ", 
-            cc_command, source_path, 
-            object_flag, obj_file, 
-            inc_dir_string,
-            cc_flags);
-        OS_run_local(command, NULL);
+    sprintf(command, "%s %s %s%s %s %s",
+        cc_command, source_path, 
+        object_flag, obj_file, 
+        inc_dir_string,
+        cc_flags);
+    if (Util_verbosity < 2) {
+        OS_run_quietly(command);
     }
     else {
-        sprintf(command, "%s %s %s%s %s %s", 
-            cc_command, source_path,
-            object_flag, obj_file,
-            inc_dir_string,
-            cc_flags);
         system(command);
     }
 
@@ -186,6 +195,62 @@
     return result;
 }
 
+chaz_bool_t
+CC_test_compile(char *source, size_t source_len)
+{
+    chaz_bool_t compile_succeeded;
+
+    if ( !Util_remove_and_verify(try_app_name) ) {
+        Util_die("Failed to delete file '%s'", try_app_name);
+    }
+
+    compile_succeeded = CC_compile_exe(TRY_SOURCE_PATH, TRY_APP_BASENAME,
+        source, source_len);
+
+    S_clean_up_try();
+
+    return compile_succeeded;
+}
+
+char*
+CC_capture_output(char *source, size_t source_len, size_t *output_len) 
+{
+    char *captured_output = NULL;
+    chaz_bool_t compile_succeeded;
+
+    /* Clear out previous versions and test to make sure removal worked. */
+    if ( !Util_remove_and_verify(try_app_name) ) {
+        Util_die("Failed to delete file '%s'", try_app_name);
+    }
+    if ( !Util_remove_and_verify(TARGET_PATH) ) {
+        Util_die("Failed to delete file '%s'", TARGET_PATH);
+    }
+
+    /* Attempt compilation; if successful, run app and slurp output. */
+    compile_succeeded = CC_compile_exe(TRY_SOURCE_PATH, TRY_APP_BASENAME, 
+        source, source_len);
+    if (compile_succeeded) {
+        OS_run_local(try_app_name, NULL);
+        captured_output = Util_slurp_file(TARGET_PATH, output_len);
+    }
+    else {
+        *output_len = 0;
+    }
+
+    /* Remove all the files we just created. */
+    S_clean_up_try();
+
+    return captured_output;
+}
+
+static void
+S_clean_up_try()
+{
+    remove(TRY_SOURCE_PATH);
+    OS_remove_exe(TRY_APP_BASENAME);
+    remove(TARGET_PATH);
+}
+
 static void
 S_do_test_compile()
 {

Modified: lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/Compiler.h
URL: http://svn.apache.org/viewvc/lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/Compiler.h?rev=896262&r1=896261&r2=896262&view=diff
==============================================================================
--- lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/Compiler.h (original)
+++ lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/Compiler.h Tue Jan  5 23:03:24 2010
@@ -25,6 +25,20 @@
 chaz_CC_compile_obj(const char *source_path, const char *obj_path, 
                     const char *code, size_t code_len);
 
+/* Attempt to compile the supplied source code and return true if the
+ * effort succeeds.
+ */
+chaz_bool_t
+chaz_CC_test_compile(char *source, size_t source_len);
+
+/* Attempt to compile the supplied source code.  If successful, capture the 
+ * output of the program and return a pointer to a newly allocated buffer.
+ * If the compilation fails, return NULL.  The length of the captured 
+ * output will be placed into the integer pointed to by [output_len].
+ */
+char*
+chaz_CC_capture_output(char *source, size_t source_len, size_t *output_len);
+
 /* Add an include directory which will be used for all future compilation
  * attempts.
  */
@@ -46,6 +60,8 @@
   #define CC_compile_obj              chaz_CC_compile_obj
   #define CC_add_inc_dir              chaz_CC_add_inc_dir
   #define CC_clean_up                 chaz_CC_clean_up
+  #define CC_test_compile             chaz_CC_test_compile
+  #define CC_capture_output           chaz_CC_capture_output
   #define CC_init                     chaz_CC_init
 #endif
 

Modified: lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/ConfWriter.c
URL: http://svn.apache.org/viewvc/lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/ConfWriter.c?rev=896262&r1=896261&r2=896262&view=diff
==============================================================================
--- lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/ConfWriter.c (original)
+++ lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/ConfWriter.c Tue Jan  5 23:03:24 2010
@@ -9,58 +9,29 @@
 #include <stdlib.h>
 #include <string.h>
 
-
-/* Write the "_charm.h" file used by every probe.
- */
-static void
-S_write_charm_h();
-
-/* Compile a small wrapper application which is used to redirect error output
- * to dev_null.
- */
-static void
-S_build_charm_run();
-
-/* Clean up the files associated with capture_output().
- */
-static void
-S_clean_up_try();
-
-/* Global vars. */
-chaz_bool_t chaz_ConfWriter_charm_run_available = false;
-FILE* ConfWriter_charmony_fh = NULL;
-
 /* Static vars. */
-static char *try_app_name = NULL;
+static FILE *charmony_fh  = NULL;
 
 void
 ConfWriter_init()
 {
-    /* Set the name of the application which we "try" to execute. */
-    const char *exe_ext = OS_exe_ext();
-    size_t len = strlen(TRY_APP_BASENAME) + strlen(exe_ext) + 1;
-    try_app_name = (char*)malloc(len);
-    sprintf(try_app_name, "%s%s", TRY_APP_BASENAME, exe_ext);
-
-    /* Write files needed by this module and others. */
-    S_build_charm_run();
-    S_write_charm_h();
+    return;
 }
 
 void
 ConfWriter_open_charmony_h(const char *charmony_start)
 {
     /* Open the filehandle. */
-    ConfWriter_charmony_fh = fopen("charmony.h", "w+");
-    if (ConfWriter_charmony_fh == NULL) {
+    charmony_fh = fopen("charmony.h", "w+");
+    if (charmony_fh == NULL) {
         Util_die("Can't open 'charmony.h': %s", strerror(errno));
     }
 
     /* Print supplied text (if any) along with warning, open include guard. */
     if (charmony_start != NULL) {
-        fprintf(ConfWriter_charmony_fh, charmony_start);
+        fprintf(charmony_fh, charmony_start);
     }
-    fprintf(ConfWriter_charmony_fh,
+    fprintf(charmony_fh,
         "/* Header file auto-generated by Charmonizer. \n"
         " * DO NOT EDIT THIS FILE!!\n"
         " */\n\n"
@@ -69,183 +40,64 @@
     );
 }
 
+FILE*
+ConfWriter_get_charmony_fh(void)
+{
+    return charmony_fh;
+}
+
 void
 ConfWriter_clean_up(void)
 {
     /* Clean up some temp files. */
     remove("_charm.h");
-    OS_remove_exe("_charm_run");
     OS_remove_exe("_charm_stat");
 
     /* Write the last bit of charmony.h and close. */
-    fprintf(ConfWriter_charmony_fh, "#endif /* H_CHARMONY */\n\n");
-    if (fclose(ConfWriter_charmony_fh)) {
+    fprintf(charmony_fh, "#endif /* H_CHARMONY */\n\n");
+    if (fclose(charmony_fh)) {
         Util_die("Couldn't close 'charmony.h': %s", strerror(errno));
     }
 }
 
-static char charm_h_code[] = METAQUOTE
-    #ifndef CHARM_H
-    #define CHARM_H 1
-
-    #include <stdio.h>
-
-    #define Charm_Setup \
-        freopen("_charmonizer_target", "w", stdout)
-    
-    #endif
-METAQUOTE;
-
-static void
-S_write_charm_h()
-{
-    Util_write_file("_charm.h", charm_h_code);
-}
-
-static char charm_run_code_a[] = METAQUOTE
-    #include <stdio.h>
-    #include <stdlib.h>
-    #include <string.h>
-    #include <stddef.h>
-    int main(int argc, char **argv)
-    {
-        char *command;
-        size_t command_len = 1; /* Terminating null. */
-        int i;
-        int retval;
-        
-        /* Rebuild the command line args, minus the name of this utility. */
-        for (i = 1; i < argc; i++) {
-            command_len += strlen(argv[i]) + 1;
-        }
-        command = (char*)calloc(command_len, sizeof(char));
-METAQUOTE;
-
-static char charm_run_code_b[] = METAQUOTE
-        if (command == NULL) {
-            fprintf(stderr, "calloc failed\n");
-            exit(1);
-        }
-        for (i = 1; i < argc; i++) {
-            strcat( strcat(command, " "), argv[i] );
-        }
-
-        /* Redirect stdout and stderr to /dev/null or equivalent. */
-        freopen( 
-METAQUOTE;
-
-static char charm_run_code_c[] = METAQUOTE
-             , "w", stdout);
-        freopen( 
-METAQUOTE;
-
-static char charm_run_code_d[] = METAQUOTE
-             , "w", stderr);
-
-        /* Run the commmand and return its value to the parent process. */
-        retval = system(command);
-        free(command);
-        return retval;
-    }
-METAQUOTE;
-
-static void
-S_build_charm_run()
+void
+ConfWriter_append_conf(const char *fmt, ...)
 {
-    chaz_bool_t compile_succeeded = false;
-    const char *dev_null = OS_dev_null();
-    size_t needed = sizeof(charm_run_code_a)
-                  + sizeof(charm_run_code_b)
-                  + strlen(dev_null)
-                  + sizeof(charm_run_code_c)
-                  + strlen(dev_null)
-                  + sizeof(charm_run_code_d)
-                  + 20;
-    char *code = (char*)malloc(needed);
-
-    sprintf(code, "%s%s \"%s\" %s \"%s\" %s", 
-        charm_run_code_a, 
-        charm_run_code_b,
-        dev_null,
-        charm_run_code_c,
-        dev_null,
-        charm_run_code_d);
-    compile_succeeded = CC_compile_exe("_charm_run.c", "_charm_run", 
-        code, strlen(code));
-    if (!compile_succeeded) {
-        Util_die("failed to compile _charm_run helper utility");
-    }
+    va_list args;
 
-    remove("_charm_run.c");
-    free(code);
-    chaz_ConfWriter_charm_run_available = true;
+    va_start(args, fmt);
+    vfprintf(charmony_fh, fmt, args);
+    va_end(args);
 }
 
-chaz_bool_t
-ConfWriter_test_compile(char *source, size_t source_len)
+void
+ConfWriter_start_short_names(void)
 {
-    chaz_bool_t compile_succeeded;
-
-    if ( !Util_remove_and_verify(try_app_name) ) {
-        Util_die("Failed to delete file '%s'", try_app_name);
-    }
-
-    compile_succeeded = CC_compile_exe(TRY_SOURCE_PATH, TRY_APP_BASENAME,
-        source, source_len);
-
-    S_clean_up_try();
-
-    return compile_succeeded;
+    ConfWriter_append_conf(
+        "\n#if defined(CHY_USE_SHORT_NAMES) "
+        "|| defined(CHAZ_USE_SHORT_NAMES)\n"
+    );
 }
 
-char*
-ConfWriter_capture_output(char *source, size_t source_len, 
-                            size_t *output_len) 
+void
+ConfWriter_end_short_names(void)
 {
-    char *captured_output = NULL;
-    chaz_bool_t compile_succeeded;
-
-    /* Clear out previous versions and test to make sure removal worked. */
-    if ( !Util_remove_and_verify(try_app_name) ) {
-        Util_die("Failed to delete file '%s'", try_app_name);
-    }
-    if ( !Util_remove_and_verify(TARGET_PATH) ) {
-        Util_die("Failed to delete file '%s'", TARGET_PATH);
-    }
-
-    /* Attempt compilation; if successful, run app and slurp output. */
-    compile_succeeded = CC_compile_exe(TRY_SOURCE_PATH, TRY_APP_BASENAME, 
-        source, source_len);
-    if (compile_succeeded) {
-        OS_run_local(try_app_name, NULL);
-        captured_output = Util_slurp_file(TARGET_PATH, output_len);
-    }
-    else {
-        *output_len = 0;
-    }
-
-    /* Remove all the files we just created. */
-    S_clean_up_try();
-
-    return captured_output;
+    ConfWriter_append_conf("#endif /* USE_SHORT_NAMES */\n");
 }
 
 void
-ConfWriter_append_conf(const char *fmt, ...)
+ConfWriter_start_module(const char *module_name)
 {
-    va_list args;
-
-    va_start(args, fmt);
-    vfprintf(ConfWriter_charmony_fh, fmt, args);
-    va_end(args);
+    if (chaz_Util_verbosity > 0) {
+        printf("Running %s module...\n", module_name);
+    }
+    ConfWriter_append_conf("\n/* %s */\n", module_name);
 }
 
-static void
-S_clean_up_try()
+void
+ConfWriter_end_module(void)
 {
-    remove(TRY_SOURCE_PATH);
-    OS_remove_exe(TRY_APP_BASENAME);
-    remove(TARGET_PATH);
+    ConfWriter_append_conf("\n");
 }
 
 void
@@ -266,7 +118,6 @@
     ConfWriter_append_conf("  #define %s chy_%s\n", sym, sym); 
 }
 
-
 /**
  * Copyright 2006 The Apache Software Foundation
  *

Modified: lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/ConfWriter.h
URL: http://svn.apache.org/viewvc/lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/ConfWriter.h?rev=896262&r1=896261&r2=896262&view=diff
==============================================================================
--- lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/ConfWriter.h (original)
+++ lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/ConfWriter.h Tue Jan  5 23:03:24 2010
@@ -1,4 +1,4 @@
-/* Chaz/Core/ConfWriter.h -- Write to a config file.
+/* Charmonizer/Core/ConfWriter.h -- Write to a config file.
  */
 
 #ifndef H_CHAZ_CONFWRITER
@@ -12,17 +12,6 @@
 #include <stddef.h>
 #include "Charmonizer/Core/Defines.h"
 
-/* Temporary files used by Charmonizer. 
- */
-#define CHAZ_CONFWRITER_TRY_SOURCE_PATH  "_charmonizer_try.c"
-#define CHAZ_CONFWRITER_TRY_APP_BASENAME "_charmonizer_try"
-#define CHAZ_CONFWRITER_TARGET_PATH      "_charmonizer_target"
-
-/* Global variables.
- */
-extern chaz_bool_t chaz_ConfWriter_charm_run_available;
-extern FILE* chaz_ConfWriter_charmony_fh;
-
 /* Initialize elements needed by ConfWriter.  Must be called before anything 
  * else, but after os and compiler are initialized.
  */
@@ -35,40 +24,31 @@
 void
 chaz_ConfWriter_open_charmony_h(const char *charmony_start);
 
+/* Return the config file's file handle. 
+ */
+FILE*
+chaz_ConfWriter_get_charmony_fh(void);
+
 /* Close the include guard on charmony.h, then close the file.  Delete temp
  * files and perform any other needed cleanup.
  */
 void
 chaz_ConfWriter_clean_up(void);
 
-/* Attempt to compile the supplied source code and return true if the
- * effort succeeds.
- */
-chaz_bool_t
-chaz_ConfWriter_test_compile(char *source, size_t source_len);
-
-/* Attempt to compile the supplied source code.  If successful, capture the 
- * output of the program and return a pointer to a newly allocated buffer.
- * If the compilation fails, return NULL.  The length of the captured 
- * output will be placed into the integer pointed to by [output_len].
- */
-char*
-chaz_ConfWriter_capture_output(char *source, size_t source_len, 
-                            size_t *output_len);
-
 /* Print output to charmony.h.
  */
 void
 chaz_ConfWriter_append_conf(const char *fmt, ...);
 
-/* Print bookends delimiting a short names block.
+/* Start a short names block.
  */
-#define CHAZ_CONFWRITER_START_SHORT_NAMES \
-  chaz_ConfWriter_append_conf( \
-    "\n#if defined(CHY_USE_SHORT_NAMES) || defined(CHAZ_USE_SHORT_NAMES)\n")
+void
+chaz_ConfWriter_start_short_names(void);
 
-#define CHAZ_CONFWRITER_END_SHORT_NAMES \
-    chaz_ConfWriter_append_conf("#endif /* USE_SHORT_NAMES */\n")
+/* Close a short names block.
+ */
+void
+chaz_ConfWriter_end_short_names(void);
 
 /* Define a shortened version of a macro symbol (minus the "CHY_" prefix);
  */
@@ -85,41 +65,30 @@
 void
 chaz_ConfWriter_shorten_function(const char *symbol);
 
-/* Print a "chapter heading" when starting a module. 
+/* Print a "chapter heading" comment in the conf file when starting a module. 
  */
-#define CHAZ_CONFWRITER_START_RUN(module_name) \
-    do { \
-        chaz_ConfWriter_append_conf("\n/* %s */\n", module_name); \
-        if (chaz_Util_verbosity > 0) { \
-            printf("Running %s module...\n", module_name); \
-        } \
-    } while (0)
+void
+chaz_ConfWriter_start_module(const char *module_name);
 
 /* Leave a little whitespace at the end of each module.
  */
-#define CHAZ_CONFWRITER_END_RUN chaz_ConfWriter_append_conf("\n")
+void
+chaz_ConfWriter_end_module(void);
 
 #ifdef   CHAZ_USE_SHORT_NAMES
-  #define TRY_SOURCE_PATH                   CHAZ_CONFWRITER_TRY_SOURCE_PATH
-  #define TRY_APP_BASENAME                  CHAZ_CONFWRITER_TRY_APP_BASENAME
-  #define TARGET_PATH                       CHAZ_CONFWRITER_TARGET_PATH
-  #define ConfWriter_charm_run_available    chaz_ConfWriter_charm_run_available
-  #define ConfWriter_charmony_fh            chaz_ConfWriter_charmony_fh
   #define ConfWriter_init                   chaz_ConfWriter_init
   #define ConfWriter_open_charmony_h        chaz_ConfWriter_open_charmony_h
+  #define ConfWriter_get_charmony_fh        chaz_ConfWriter_get_charmony_fh
   #define ConfWriter_clean_up               chaz_ConfWriter_clean_up
-  #define ConfWriter_write_charm_h          chaz_ConfWriter_write_charm_h
   #define ConfWriter_build_charm_run        chaz_ConfWriter_build_charm_run
-  #define START_SHORT_NAMES                 CHAZ_CONFWRITER_START_SHORT_NAMES
-  #define END_SHORT_NAMES                   CHAZ_CONFWRITER_END_SHORT_NAMES
-  #define ConfWriter_test_compile           chaz_ConfWriter_test_compile
-  #define ConfWriter_capture_output         chaz_ConfWriter_capture_output 
+  #define ConfWriter_start_module           chaz_ConfWriter_start_module
+  #define ConfWriter_end_module             chaz_ConfWriter_end_module
+  #define ConfWriter_start_short_names      chaz_ConfWriter_start_short_names
+  #define ConfWriter_end_short_names        chaz_ConfWriter_end_short_names
   #define ConfWriter_append_conf            chaz_ConfWriter_append_conf
   #define ConfWriter_shorten_macro          chaz_ConfWriter_shorten_macro
   #define ConfWriter_shorten_typedef        chaz_ConfWriter_shorten_typedef
   #define ConfWriter_shorten_function       chaz_ConfWriter_shorten_function
-  #define START_RUN                         CHAZ_CONFWRITER_START_RUN
-  #define END_RUN                           CHAZ_CONFWRITER_END_RUN
 #endif
 
 #ifdef __cplusplus

Modified: lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/HeaderChecker.c
URL: http://svn.apache.org/viewvc/lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/HeaderChecker.c?rev=896262&r1=896261&r2=896262&view=diff
==============================================================================
--- lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/HeaderChecker.c (original)
+++ lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/HeaderChecker.c Tue Jan  5 23:03:24
2010
@@ -1,8 +1,9 @@
 #define CHAZ_USE_SHORT_NAMES
 
+#include "Charmonizer/Core/HeaderChecker.h"
+#include "Charmonizer/Core/Compiler.h"
 #include "Charmonizer/Core/ConfWriter.h"
 #include "Charmonizer/Core/Util.h"
-#include "Charmonizer/Core/HeaderChecker.h"
 #include <string.h>
 #include <stdlib.h>
 
@@ -104,7 +105,7 @@
     strcat(code_buf, test_code);
 
     /* If the code compiles, bulk add all header names to the cache. */
-    success = ConfWriter_test_compile(code_buf, strlen(code_buf));
+    success = CC_test_compile(code_buf, strlen(code_buf));
     if (success) {
         for (i = 0; header_names[i] != NULL; i++) {
             S_maybe_add_to_cache(header_names[i], true);
@@ -130,7 +131,7 @@
     char *buf = (char*)malloc(needed);
     chaz_bool_t retval;
     sprintf(buf, contains_code, includes, struct_name, member);
-    retval = ConfWriter_test_compile(buf, strlen(buf));
+    retval = CC_test_compile(buf, strlen(buf));
     free(buf);
     return retval;
 }
@@ -158,7 +159,7 @@
 
     /* See whether code that tries to pull in this header compiles. */
     sprintf(include_test, "#include <%s>\n%s", header_name, test_code);
-    header->exists = ConfWriter_test_compile(include_test, strlen(include_test));
+    header->exists = CC_test_compile(include_test, strlen(include_test));
 
     free(include_test);
     return header;

Modified: lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/OperatingSystem.c
URL: http://svn.apache.org/viewvc/lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/OperatingSystem.c?rev=896262&r1=896261&r2=896262&view=diff
==============================================================================
--- lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/OperatingSystem.c (original)
+++ lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/OperatingSystem.c Tue Jan  5 23:03:24
2010
@@ -4,7 +4,9 @@
 #include <string.h>
 #include <stdarg.h>
 
+#include "Charmonizer/Core/Compiler.h"
 #include "Charmonizer/Core/Util.h"
+#include "Charmonizer/Core/ConfWriter.h"
 #include "Charmonizer/Core/OperatingSystem.h"
 
 static char dev_null[20] = "";
@@ -22,6 +24,15 @@
 static void
 S_probe_dev_null(void);
 
+/* Compile a small wrapper application which is used to redirect error output
+ * to dev_null.
+ */
+static void
+S_build_charm_run();
+
+static chaz_bool_t charm_run_initialized = false;
+static chaz_bool_t charm_run_ok = false;
+
 void
 OS_init() 
 {
@@ -67,7 +78,7 @@
 void
 OS_clean_up(void)
 {
-    return;
+    OS_remove_exe("_charm_run");
 }
 
 const char*
@@ -88,6 +99,85 @@
     return dev_null;
 }
 
+static char charm_run_code_a[] = METAQUOTE
+    #include <stdio.h>
+    #include <stdlib.h>
+    #include <string.h>
+    #include <stddef.h>
+    int main(int argc, char **argv)
+    {
+        char *command;
+        size_t command_len = 1; /* Terminating null. */
+        int i;
+        int retval;
+        
+        /* Rebuild the command line args, minus the name of this utility. */
+        for (i = 1; i < argc; i++) {
+            command_len += strlen(argv[i]) + 1;
+        }
+        command = (char*)calloc(command_len, sizeof(char));
+METAQUOTE;
+
+static char charm_run_code_b[] = METAQUOTE
+        if (command == NULL) {
+            fprintf(stderr, "calloc failed\n");
+            exit(1);
+        }
+        for (i = 1; i < argc; i++) {
+            strcat( strcat(command, " "), argv[i] );
+        }
+
+        /* Redirect stdout and stderr to /dev/null or equivalent. */
+        freopen( 
+METAQUOTE;
+
+static char charm_run_code_c[] = METAQUOTE
+             , "w", stdout);
+        freopen( 
+METAQUOTE;
+
+static char charm_run_code_d[] = METAQUOTE
+             , "w", stderr);
+
+        /* Run the commmand and return its value to the parent process. */
+        retval = system(command);
+        free(command);
+        return retval;
+    }
+METAQUOTE;
+
+static void
+S_build_charm_run()
+{
+    chaz_bool_t compile_succeeded = false;
+    const char *dev_null = OS_dev_null();
+    size_t needed = sizeof(charm_run_code_a)
+                  + sizeof(charm_run_code_b)
+                  + strlen(dev_null)
+                  + sizeof(charm_run_code_c)
+                  + strlen(dev_null)
+                  + sizeof(charm_run_code_d)
+                  + 20;
+    char *code = (char*)malloc(needed);
+
+    sprintf(code, "%s%s \"%s\" %s \"%s\" %s", 
+        charm_run_code_a, 
+        charm_run_code_b,
+        dev_null,
+        charm_run_code_c,
+        dev_null,
+        charm_run_code_d);
+    compile_succeeded = CC_compile_exe("_charm_run.c", "_charm_run", 
+        code, strlen(code));
+    if (!compile_succeeded) {
+        Util_die("failed to compile _charm_run helper utility");
+    }
+
+    remove("_charm_run.c");
+    free(code);
+    charm_run_ok = true;
+}
+
 void
 OS_remove_exe(char *name)
 {
@@ -131,6 +221,26 @@
     return retval;
 }
 
+int
+OS_run_quietly(const char *command)
+{
+    int retval = 1;
+    
+    if (!charm_run_initialized) {
+        charm_run_initialized = true;
+        S_build_charm_run();
+    }
+
+    if (!charm_run_ok) {
+        retval = system(command);
+    }
+    else {
+        retval = OS_run_local("_charm_run ", command, NULL);
+    }
+
+    return retval;
+}
+
 /**
  * Copyright 2006 The Apache Software Foundation
  *

Modified: lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/OperatingSystem.h
URL: http://svn.apache.org/viewvc/lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/OperatingSystem.h?rev=896262&r1=896261&r2=896262&view=diff
==============================================================================
--- lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/OperatingSystem.h (original)
+++ lucene/lucy/trunk/charmonizer/src/Charmonizer/Core/OperatingSystem.h Tue Jan  5 23:03:24
2010
@@ -25,6 +25,13 @@
 int 
 chaz_OS_run_local(char *arg1, ...);
 
+/* Invoke a command and attempt to suppress output from both stdout and stderr
+ * (as if they had been sent to /dev/null).  If it's not possible to run the
+ * command quietly, run it anyway.
+ */
+int 
+chaz_OS_run_quietly(const char *command);
+
 /* Return the extension for an executable on this system.
  */
 const char*
@@ -54,6 +61,7 @@
   #define OS_remove_exe                chaz_OS_remove_exe
   #define OS_remove_obj                chaz_OS_remove_obj
   #define OS_run_local                 chaz_OS_run_local
+  #define OS_run_quietly               chaz_OS_run_quietly
   #define OS_exe_ext                   chaz_OS_exe_ext
   #define OS_obj_ext                   chaz_OS_obj_ext
   #define OS_dev_null                  chaz_OS_dev_null

Modified: lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe.c
URL: http://svn.apache.org/viewvc/lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe.c?rev=896262&r1=896261&r2=896262&view=diff
==============================================================================
--- lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe.c (original)
+++ lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe.c Tue Jan  5 23:03:24 2010
@@ -10,6 +10,11 @@
 #include "Charmonizer/Core/Compiler.h"
 #include "Charmonizer/Core/OperatingSystem.h"
 
+/* Write the "_charm.h" file used by every probe.
+ */
+static void
+S_write_charm_h();
+
 void
 Probe_init(const char *cc_command, const char *cc_flags, 
            const char *charmony_start)
@@ -20,6 +25,7 @@
     ConfWriter_init();
     HeadCheck_init();
     ConfWriter_open_charmony_h(charmony_start);
+    S_write_charm_h();
 
     if (Util_verbosity) { printf("Initialization complete.\n"); }
 }
@@ -46,7 +52,25 @@
 FILE*
 Probe_get_charmony_fh(void)
 {
-    return ConfWriter_charmony_fh;
+    return ConfWriter_get_charmony_fh();
+}
+
+static char charm_h_code[] = METAQUOTE
+    #ifndef CHARM_H
+    #define CHARM_H 1
+
+    #include <stdio.h>
+
+    #define Charm_Setup \
+        freopen("_charmonizer_target", "w", stdout)
+    
+    #endif
+METAQUOTE;
+
+static void
+S_write_charm_h()
+{
+    Util_write_file("_charm.h", charm_h_code);
 }
 
 /**

Modified: lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/AtomicOps.c
URL: http://svn.apache.org/viewvc/lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/AtomicOps.c?rev=896262&r1=896261&r2=896262&view=diff
==============================================================================
--- lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/AtomicOps.c (original)
+++ lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/AtomicOps.c Tue Jan  5 23:03:24 2010
@@ -15,7 +15,7 @@
     chaz_bool_t has_sys_atomic_h       = false;
     chaz_bool_t has_intrin_h           = false;
 
-    START_RUN("AtomicOps");
+    ConfWriter_start_module("AtomicOps");
 
     if (HeadCheck_check_header("libkern/OSAtomic.h")) {
         has_libkern_osatomic_h = true;
@@ -33,7 +33,7 @@
     }
     
     /* Shorten */
-    START_SHORT_NAMES;
+    ConfWriter_start_short_names();
     if (has_libkern_osatomic_h) {
         ConfWriter_shorten_macro("HAS_LIBKERN_OSATOMIC_H");
     }
@@ -43,9 +43,9 @@
     if (has_intrin_h) {
         ConfWriter_shorten_macro("HAS_INTRIN_H");
     }
-    END_SHORT_NAMES;
+    ConfWriter_end_short_names();
 
-    END_RUN;
+    ConfWriter_end_module();
 }
 
 

Modified: lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/DirManip.c
URL: http://svn.apache.org/viewvc/lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/DirManip.c?rev=896262&r1=896261&r2=896262&view=diff
==============================================================================
--- lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/DirManip.c (original)
+++ lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/DirManip.c Tue Jan  5 23:03:24 2010
@@ -21,7 +21,7 @@
     chaz_bool_t has_dirent_d_namlen = false;
     chaz_bool_t has_dirent_d_type   = false;
 
-    START_RUN("DirManip");
+    ConfWriter_start_module("DirManip");
     Dir_init();
 
     /* Header checks. */
@@ -103,7 +103,7 @@
     Dir_rmdir("_charm_test_remove_me");
 
     /* Shorten. */
-    START_SHORT_NAMES;
+    ConfWriter_start_short_names();
     if (dir_sep_is_valid) { ConfWriter_shorten_macro("DIR_SEP"); }
     if (has_dirent_h)     { ConfWriter_shorten_macro("HAS_DIRENT_H"); }
     if (has_direct_h)     { ConfWriter_shorten_macro("HAS_DIRECT_H"); }
@@ -113,9 +113,9 @@
     ConfWriter_shorten_macro("MAKEDIR_MODE_IGNORED");
     if (remove_zaps_dirs) { ConfWriter_shorten_macro("REMOVE_ZAPS_DIRS"); }
 
-    END_SHORT_NAMES;
+    ConfWriter_end_short_names();
 
-    END_RUN;
+    ConfWriter_end_module();
 }
 
 

Modified: lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/Floats.c
URL: http://svn.apache.org/viewvc/lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/Floats.c?rev=896262&r1=896261&r2=896262&view=diff
==============================================================================
--- lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/Floats.c (original)
+++ lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/Floats.c Tue Jan  5 23:03:24 2010
@@ -11,7 +11,7 @@
 void
 Floats_run(void) 
 {
-    START_RUN("Floats");
+    ConfWriter_start_module("Floats");
 
     ConfWriter_append_conf(
         "typedef float chy_f32_t;\n"
@@ -31,7 +31,7 @@
     );
 
     /* Shorten. */
-    START_SHORT_NAMES;
+    ConfWriter_start_short_names();
     ConfWriter_shorten_typedef("f32_t");
     ConfWriter_shorten_typedef("f64_t");
     ConfWriter_shorten_macro("HAS_F32_T");
@@ -39,9 +39,9 @@
     ConfWriter_shorten_macro("F32_INF");
     ConfWriter_shorten_macro("F32_NEGINF");
     ConfWriter_shorten_macro("F32_NAN");
-    END_SHORT_NAMES;
+    ConfWriter_end_short_names();
     
-    END_RUN;
+    ConfWriter_end_module();
 }
 
 /**

Modified: lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/FuncMacro.c
URL: http://svn.apache.org/viewvc/lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/FuncMacro.c?rev=896262&r1=896261&r2=896262&view=diff
==============================================================================
--- lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/FuncMacro.c (original)
+++ lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/FuncMacro.c Tue Jan  5 23:03:24 2010
@@ -1,5 +1,6 @@
 #define CHAZ_USE_SHORT_NAMES
 
+#include "Charmonizer/Core/Compiler.h"
 #include "Charmonizer/Core/ConfWriter.h"
 #include "Charmonizer/Core/Util.h"
 #include "Charmonizer/Probe/FuncMacro.h"
@@ -42,7 +43,7 @@
 S_try_inline(const char *keyword, size_t *output_len) {
     char code[ sizeof(inline_code) + 30 ];
     sprintf(code, inline_code, keyword);
-    return ConfWriter_capture_output(code, strlen(code), output_len);
+    return CC_capture_output(code, strlen(code), output_len);
 }
 
 static const char* inline_options[] = {
@@ -63,10 +64,10 @@
     chaz_bool_t has_gnuc_funcmac = false;
     chaz_bool_t has_inline       = false;
 
-    START_RUN("FuncMacro");
+    ConfWriter_start_module("FuncMacro");
     
     /* check for ISO func macro */
-    output = ConfWriter_capture_output(iso_func_code, strlen(iso_func_code), 
+    output = CC_capture_output(iso_func_code, strlen(iso_func_code), 
         &output_len);
     if (output != NULL && strncmp(output, "main", 4) == 0) {
         has_funcmac     = true;
@@ -75,7 +76,7 @@
     free(output);
 
     /* check for GNUC func macro */
-    output = ConfWriter_capture_output(gnuc_func_code, strlen(gnuc_func_code), 
+    output = CC_capture_output(gnuc_func_code, strlen(gnuc_func_code), 
         &output_len);
     if (output != NULL && strncmp(output, "main", 4) == 0) {
         has_funcmac      = true;
@@ -120,7 +121,7 @@
     }
 
     /* shorten */
-    START_SHORT_NAMES;
+    ConfWriter_start_short_names();
     if (has_iso_funcmac) 
         ConfWriter_shorten_macro("HAS_ISO_FUNC_MACRO");
     if (has_gnuc_funcmac)
@@ -130,9 +131,9 @@
         ConfWriter_shorten_macro("FUNC_MACRO");
     }
     ConfWriter_shorten_macro("INLINE");
-    END_SHORT_NAMES;
+    ConfWriter_end_short_names();
 
-    END_RUN;
+    ConfWriter_end_module();
 }
 
 

Modified: lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/Headers.c
URL: http://svn.apache.org/viewvc/lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/Headers.c?rev=896262&r1=896261&r2=896262&view=diff
==============================================================================
--- lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/Headers.c (original)
+++ lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/Headers.c Tue Jan  5 23:03:24 2010
@@ -91,7 +91,7 @@
 
     keeper_count = 0;
     
-    START_RUN("Headers");
+    ConfWriter_start_module("Headers");
 
     /* Try for all POSIX headers in one blast. */
     if (HeadCheck_check_many_headers((const char**)posix_headers)) {
@@ -155,7 +155,7 @@
     }
 
     /* shorten */
-    START_SHORT_NAMES;
+    ConfWriter_start_short_names();
     if (has_posix)
         ConfWriter_shorten_macro("HAS_POSIX");
     if (has_c89) {
@@ -166,9 +166,9 @@
         S_encode_affirmation(keepers[i]);
         ConfWriter_shorten_macro(aff_buf);
     }
-    END_SHORT_NAMES;
+    ConfWriter_end_short_names();
 
-    END_RUN;
+    ConfWriter_end_module();
 }
 
 static void

Modified: lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/Integers.c
URL: http://svn.apache.org/viewvc/lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/Integers.c?rev=896262&r1=896261&r2=896262&view=diff
==============================================================================
--- lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/Integers.c (original)
+++ lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/Integers.c Tue Jan  5 23:03:24 2010
@@ -1,6 +1,7 @@
 #define CHAZ_USE_SHORT_NAMES
 
 #include "Charmonizer/Core/HeaderChecker.h"
+#include "Charmonizer/Core/Compiler.h"
 #include "Charmonizer/Core/ConfWriter.h"
 #include "Charmonizer/Core/Util.h"
 #include "Charmonizer/Probe/Integers.h"
@@ -77,7 +78,7 @@
     char u64_t_postfix[10];
     char code_buf[sizeof(type64_code) + 200];
 
-    START_RUN("Integers");
+    ConfWriter_start_module("Integers");
 
     /* document endian-ness */
     if (S_machine_is_big_endian())
@@ -86,7 +87,7 @@
         ConfWriter_append_conf("#define CHY_LITTLE_END\n");
 
     /* Record sizeof() for several common integer types. */
-    output = ConfWriter_capture_output(sizes_code, strlen(sizes_code), &output_len);
+    output = CC_capture_output(sizes_code, strlen(sizes_code), &output_len);
     if (output != NULL) {
         char *end_ptr = output;
         
@@ -103,7 +104,7 @@
 
     /* determine whether long longs are available */
     sprintf(code_buf, type64_code, "long long");
-    output = ConfWriter_capture_output(code_buf, strlen(code_buf), &output_len);
+    output = CC_capture_output(code_buf, strlen(code_buf), &output_len);
     if (output != NULL) {
         has_long_long    = true;
         sizeof_long_long = strtol(output, NULL, 10);
@@ -111,7 +112,7 @@
 
     /* determine whether the __int64 type is available */
     sprintf(code_buf, type64_code, "__int64");
-    output = ConfWriter_capture_output(code_buf, strlen(code_buf), &output_len);
+    output = CC_capture_output(code_buf, strlen(code_buf), &output_len);
     if (output != NULL) {
         has___int64 = true;
         sizeof___int64 = strtol(output, NULL, 10);
@@ -156,26 +157,26 @@
     }
     else if (has_64) {
         sprintf(code_buf, literal64_code, "LL");
-        output = ConfWriter_capture_output(code_buf, strlen(code_buf), &output_len);
+        output = CC_capture_output(code_buf, strlen(code_buf), &output_len);
         if (output != NULL) {
             strcpy(i64_t_postfix, "LL");
         }
         else {
             sprintf(code_buf, literal64_code, "i64");
-            output = ConfWriter_capture_output(code_buf, strlen(code_buf), &output_len);
+            output = CC_capture_output(code_buf, strlen(code_buf), &output_len);
             if (output != NULL)
                 strcpy(i64_t_postfix, "i64");
             else
                 Util_die("64-bit types, but no literal syntax found");
         }
         sprintf(code_buf, literal64_code, "ULL");
-        output = ConfWriter_capture_output(code_buf, strlen(code_buf), &output_len);
+        output = CC_capture_output(code_buf, strlen(code_buf), &output_len);
         if (output != NULL) {
             strcpy(u64_t_postfix, "ULL");
         }
         else {
             sprintf(code_buf, literal64_code, "Ui64");
-            output = ConfWriter_capture_output(code_buf, strlen(code_buf), &output_len);
+            output = CC_capture_output(code_buf, strlen(code_buf), &output_len);
             if (output != NULL)
                 strcpy(u64_t_postfix, "Ui64");
             else
@@ -323,7 +324,7 @@
             sprintf(format_64_code, 
                 "%s\"%%%su\", 18446744073709551615%s%s", format_64_code_a, 
                     options[i], u64_t_postfix, format_64_code_b);
-            output = ConfWriter_capture_output(format_64_code, strlen(format_64_code),
+            output = CC_capture_output(format_64_code, strlen(format_64_code),
                 &output_len);
 
             if (   output_len != 0 
@@ -376,7 +377,7 @@
     );
 
     /* shorten */
-    START_SHORT_NAMES;
+    ConfWriter_start_short_names();
     if ( S_machine_is_big_endian() ) {
         ConfWriter_shorten_macro("BIG_END");
     }
@@ -438,9 +439,9 @@
         ConfWriter_shorten_macro("U64_C");
         ConfWriter_shorten_macro("PTR2I64");
     }
-    END_SHORT_NAMES;
+    ConfWriter_end_short_names();
     
-    END_RUN;
+    ConfWriter_end_module();
 }
 
 static chaz_bool_t

Modified: lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/LargeFiles.c
URL: http://svn.apache.org/viewvc/lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/LargeFiles.c?rev=896262&r1=896261&r2=896262&view=diff
==============================================================================
--- lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/LargeFiles.c (original)
+++ lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/LargeFiles.c Tue Jan  5 23:03:24 2010
@@ -1,6 +1,7 @@
 #define CHAZ_USE_SHORT_NAMES
 
 #include "Charmonizer/Core/HeaderChecker.h"
+#include "Charmonizer/Core/Compiler.h"
 #include "Charmonizer/Core/ConfWriter.h"
 #include "Charmonizer/Core/Stat.h"
 #include "Charmonizer/Core/Util.h"
@@ -86,7 +87,7 @@
     chaz_bool_t found_pread64 = false;
     unsigned i;
 
-    START_RUN("LargeFiles");
+    ConfWriter_start_module("LargeFiles");
 
     /* see if off64_t and friends exist or have synonyms */
     for (i = 0; off64_combos[i].includes != NULL; i++) {
@@ -149,7 +150,7 @@
 
     /* short names */
     if (success) {
-        START_SHORT_NAMES;
+        ConfWriter_start_short_names();
         ConfWriter_shorten_macro("HAS_LARGE_FILE_SUPPORT");
 
         /* alias these only if they're not already provided and correct */
@@ -165,10 +166,10 @@
         if (found_pread64 && strcmp(pread64_command, "pread64") != 0) {
             ConfWriter_shorten_function("pread64");
         }
-        END_SHORT_NAMES;
+        ConfWriter_end_short_names();
     }
     
-    END_RUN;
+    ConfWriter_end_module();
 }
 
 /* code for checking ftello64 and friends */
@@ -209,8 +210,7 @@
         combo->fseek_command);
 
     /* verify compilation and that the offset type has 8 bytes */
-    output = ConfWriter_capture_output(code_buf, strlen(code_buf), 
-        &output_len);
+    output = CC_capture_output(code_buf, strlen(code_buf), &output_len);
     if (output != NULL) {
         long size = strtol(output, NULL, 10);
         if (size == 8)
@@ -249,8 +249,7 @@
 
     /* Verify compilation. */
     sprintf(code_buf, lseek_code, combo->includes, combo->lseek_command);
-    output = ConfWriter_capture_output(code_buf, strlen(code_buf), 
-        &output_len);
+    output = CC_capture_output(code_buf, strlen(code_buf), &output_len);
     if (output != NULL) {
         success = true;
         free(output);
@@ -287,8 +286,7 @@
 
     /* Verify compilation. */
     sprintf(code_buf, pread64_code, combo->includes, combo->pread64_command);
-    output = ConfWriter_capture_output(code_buf, strlen(code_buf), 
-        &output_len);
+    output = CC_capture_output(code_buf, strlen(code_buf), &output_len);
     if (output != NULL) {
         success = true;
         free(output);
@@ -389,7 +387,7 @@
     /* concat the source strings, compile the file, capture output */
     sprintf(code_buf, "%s%s%s", create_bigfile_code_a, fseek_command, 
         create_bigfile_code_b);
-    output = ConfWriter_capture_output(code_buf, strlen(code_buf), &output_len);
+    output = CC_capture_output(code_buf, strlen(code_buf), &output_len);
 
     /* truncate, just in case the call to remove fails */
     truncating_fh = fopen("_charm_large_file_test", "w");

Modified: lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/UnusedVars.c
URL: http://svn.apache.org/viewvc/lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/UnusedVars.c?rev=896262&r1=896261&r2=896262&view=diff
==============================================================================
--- lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/UnusedVars.c (original)
+++ lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/UnusedVars.c Tue Jan  5 23:03:24 2010
@@ -10,19 +10,19 @@
 void
 UnusedVars_run(void) 
 {
-    START_RUN("UnusedVars");
+    ConfWriter_start_module("UnusedVars");
     
     /* write the macros (no test, these are the same everywhere) */
     ConfWriter_append_conf("#define CHY_UNUSED_VAR(x) ((void)x)\n");
     ConfWriter_append_conf("#define CHY_UNREACHABLE_RETURN(type) return (type)0\n");
 
     /* shorten */
-    START_SHORT_NAMES;
+    ConfWriter_start_short_names();
     ConfWriter_shorten_macro("UNUSED_VAR");
     ConfWriter_shorten_macro("UNREACHABLE_RETURN");
-    END_SHORT_NAMES;
+    ConfWriter_end_short_names();
 
-    END_RUN;
+    ConfWriter_end_module();
 }
 
 

Modified: lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/VariadicMacros.c
URL: http://svn.apache.org/viewvc/lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/VariadicMacros.c?rev=896262&r1=896261&r2=896262&view=diff
==============================================================================
--- lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/VariadicMacros.c (original)
+++ lucene/lucy/trunk/charmonizer/src/Charmonizer/Probe/VariadicMacros.c Tue Jan  5 23:03:24
2010
@@ -1,5 +1,6 @@
 #define CHAZ_USE_SHORT_NAMES
 
+#include "Charmonizer/Core/Compiler.h"
 #include "Charmonizer/Core/ConfWriter.h"
 #include "Charmonizer/Core/Util.h"
 #include "Charmonizer/Probe/VariadicMacros.h"
@@ -40,10 +41,10 @@
     chaz_bool_t has_iso_varmacros  = false;
     chaz_bool_t has_gnuc_varmacros = false;
 
-    START_RUN("VariadicMacros");
+    ConfWriter_start_module("VariadicMacros");
 
     /* test for ISO-style variadic macros */
-    output = ConfWriter_capture_output(iso_code, strlen(iso_code), &output_len);
+    output = CC_capture_output(iso_code, strlen(iso_code), &output_len);
     if (output != NULL) {
         has_varmacros = true;
         has_iso_varmacros = true;
@@ -52,7 +53,7 @@
     }
 
     /* test for GNU-style variadic macros */
-    output = ConfWriter_capture_output(gnuc_code, strlen(gnuc_code), &output_len);
+    output = CC_capture_output(gnuc_code, strlen(gnuc_code), &output_len);
     if (output != NULL) {
         has_gnuc_varmacros = true;
         if (has_varmacros == false) {
@@ -63,16 +64,16 @@
     }
 
     /* shorten */
-    START_SHORT_NAMES;
+    ConfWriter_start_short_names();
     if (has_varmacros)
         ConfWriter_shorten_macro("HAS_VARIADIC_MACROS");
     if (has_iso_varmacros)
         ConfWriter_shorten_macro("HAS_ISO_VARIADIC_MACROS");
     if (has_gnuc_varmacros)
         ConfWriter_shorten_macro("HAS_GNUC_VARIADIC_MACROS");
-    END_SHORT_NAMES;
+    ConfWriter_end_short_names();
 
-    END_RUN;
+    ConfWriter_end_module();
 }
 
 



Mime
View raw message