[PATCH 3/9] tools: Remove rtems-bin2c

Sebastian Huber sebastian.huber at embedded-brains.de
Thu Jun 14 05:39:02 UTC 2018


This tool is now included in the RTEMS tools repository.

Close #3380.
---
 aclocal/project-root.m4                          |   2 +-
 c/src/make/host.cfg.in                           |   2 +-
 testsuites/aclocal/project-root.m4               |   2 +-
 testsuites/fstests/fsdosfsname01/create_image.sh |   2 +-
 tools/build/Makefile.am                          |   3 +-
 tools/build/rtems-bin2c.c                        | 330 -----------------------
 6 files changed, 5 insertions(+), 336 deletions(-)
 delete mode 100644 tools/build/rtems-bin2c.c

diff --git a/aclocal/project-root.m4 b/aclocal/project-root.m4
index 464d704c67..5240f5f465 100644
--- a/aclocal/project-root.m4
+++ b/aclocal/project-root.m4
@@ -15,7 +15,7 @@ AC_REQUIRE([RTEMS_TOP])
 PACKHEX="\$(PROJECT_TOPdir)/tools/build/packhex"
 AC_SUBST(PACKHEX)
 
-BIN2C="\$(PROJECT_TOPdir)/tools/build/rtems-bin2c"
+BIN2C=rtems-bin2c
 AC_SUBST(BIN2C)
 ])
 
diff --git a/c/src/make/host.cfg.in b/c/src/make/host.cfg.in
index 270d3f104d..17bf017b99 100644
--- a/c/src/make/host.cfg.in
+++ b/c/src/make/host.cfg.in
@@ -27,7 +27,7 @@ PACKHEX=$(PROJECT_BIN)/packhex
 endif
 
 ifndef BIN2C
-BIN2C=$(PROJECT_BIN)/rtems-bin2c
+BIN2C=rtems-bin2c
 endif
 
 ifndef INSTALL_CHANGE
diff --git a/testsuites/aclocal/project-root.m4 b/testsuites/aclocal/project-root.m4
index aeeb0e863a..950ff6b5ad 100644
--- a/testsuites/aclocal/project-root.m4
+++ b/testsuites/aclocal/project-root.m4
@@ -5,7 +5,7 @@ AC_REQUIRE([RTEMS_TOP])
 PACKHEX="\$(PROJECT_TOPdir)/tools/build/packhex"
 AC_SUBST(PACKHEX)
 
-BIN2C="\$(PROJECT_TOPdir)/tools/build/rtems-bin2c"
+BIN2C=rtems-bin2c
 AC_SUBST(BIN2C)
 ])
 
diff --git a/testsuites/fstests/fsdosfsname01/create_image.sh b/testsuites/fstests/fsdosfsname01/create_image.sh
index 2bd470a00a..2f38282b26 100755
--- a/testsuites/fstests/fsdosfsname01/create_image.sh
+++ b/testsuites/fstests/fsdosfsname01/create_image.sh
@@ -26,7 +26,7 @@ if [ -e "$1" ]
 
     sudo dd if="$1" of="$IMAGE_BIN"
 
-    /opt/rtems-4.11/bin/rtems-bin2c -C -c "$IMAGE_BIN" "$IMAGE"
+    rtems-bin2c -C -c "$IMAGE_BIN" "$IMAGE"
     mv "$IMAGE".c "$IMAGE".h
     rm -f "$IMAGE_BIN"
   else
diff --git a/tools/build/Makefile.am b/tools/build/Makefile.am
index 08769c33e7..5de61f7cce 100644
--- a/tools/build/Makefile.am
+++ b/tools/build/Makefile.am
@@ -1,12 +1,11 @@
 ACLOCAL_AMFLAGS = -I ../../aclocal
 
-bin_PROGRAMS = cklength eolstrip packhex unhex rtems-bin2c
+bin_PROGRAMS = cklength eolstrip packhex unhex
 
 cklength_SOURCES = cklength.c
 eolstrip_SOURCES = eolstrip.c compat.c
 packhex_SOURCES = packhex.c
 unhex_SOURCES = unhex.c compat.c
-rtems_bin2c_SOURCES = rtems-bin2c.c compat.c
 
 bin_SCRIPTS = install-if-change
 
diff --git a/tools/build/rtems-bin2c.c b/tools/build/rtems-bin2c.c
deleted file mode 100644
index 53caf27aa2..0000000000
--- a/tools/build/rtems-bin2c.c
+++ /dev/null
@@ -1,330 +0,0 @@
-/*
- * bin2c.c
- *
- * convert a binary file into a C source array.
- *
- * THE "BEER-WARE LICENSE" (Revision 3.1415):
- * sandro AT sigala DOT it wrote this file. As long as you retain this
- * notice you can do whatever you want with this stuff.  If we meet some
- * day, and you think this stuff is worth it, you can buy me a beer in
- * return.  Sandro Sigala
- *
- * Subsequently modified by Joel Sherrill <joel.sherrill at oarcorp.com>
- * to add a number of capabilities not in the original.
- *
- * syntax:  bin2c [-c] [-z] <input_file> <output_file>
- *
- *    -c    do NOT add the "const" keyword to definition
- *    -s    add the "static" keywork to definition
- *    -v    verbose
- *    -z    terminate the array with a zero (useful for embedded C strings)
- *
- * examples:
- *     bin2c -c myimage.png myimage_png.cpp
- *     bin2c -z sometext.txt sometext_txt.cpp
- *
- */
-
-#include <ctype.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <libgen.h>
-
-#ifndef PATH_MAX
-#define PATH_MAX 1024
-#endif
-
-int useconst = 1;
-int usestatic = 0;
-int verbose = 0;
-int zeroterminated = 0;
-int createC = 1;
-int createH = 1;
-
-int myfgetc(FILE *f)
-{
-  int c = fgetc(f);
-  if (c == EOF && zeroterminated) {
-    zeroterminated = 0;
-    return 0;
-  }
-  return c;
-}
-
-void process(const char *ifname, const char *ofname, const char *forced_name)
-{
-  FILE *ifile, *ocfile, *ohfile;
-  char buf[PATH_MAX+1], *p;
-  char obasename[PATH_MAX+1];
-  char ocname[PATH_MAX+1];
-  char ohname[PATH_MAX+1];
-  const char *cp;
-  size_t len;
-
-  ocfile = NULL;
-  ohfile = NULL;
-
-  /* Error check */
-  if ( !ifname || !ofname ) {
-    fprintf(stderr, "process has NULL filename\n");
-    exit(1);
-  }
-
-  strncpy( obasename, ofname, PATH_MAX );
-  len = strnlen( obasename, PATH_MAX );
-  if ( len >= 2 ) {
-    if ( obasename[len-2] == '.' ) {
-      if ( (obasename[len-1] == 'c') || (obasename[len-1] == 'h') )
-        obasename[len-2] = '\0';
-    }
-  }
-
-  sprintf( ocname, "%s.c", obasename );
-  sprintf( ohname, "%s.h", obasename );
-
-  if ( verbose ) {
-    fprintf(
-      stderr,
-      "in file: %s\n"
-      "c file: %s\n"
-      "h file: %s\n",
-      ifname,
-      ocname,
-      ohname
-    );
-  }
-
-  /* Open input and output files */
-  ifile = fopen(ifname, "rb");
-  if (ifile == NULL) {
-    fprintf(stderr, "cannot open %s for reading\n", ifname);
-    exit(1);
-  }
-
-  if ( createC ) {
-    ocfile = fopen(ocname, "wb");
-    if (ocfile == NULL) {
-      fprintf(stderr, "cannot open %s for writing\n", ocname);
-      exit(1);
-    }
-  }
-
-  if ( createH ) {
-    ohfile = fopen(ohname, "wb");
-    if (ohfile == NULL) {
-      fprintf(stderr, "cannot open %s for writing\n", ohname);
-      exit(1);
-    }
-  }
-
-  /* find basename */
-  char *ifbasename_to_free =
-    forced_name != NULL ? strdup(forced_name) : strdup(ifname);
-  if ( ifbasename_to_free == NULL ) {
-    fprintf(stderr, "cannot allocate memory\n" );
-    fclose(ifile);
-    if ( createC ) { fclose(ocfile); }
-    if ( createH ) { fclose(ohfile); }
-    exit(1);
-  }
-
-  char *ifbasename;
-  ifbasename = basename(ifbasename_to_free);
-
-  strcpy(buf, ifbasename);
-  for (p = buf; *p != '\0'; ++p) {
-    if (!isalnum((unsigned char)*p)) /* cast to avoid negative indexing */
-      *p = '_';
-  }
-
-  if ( createC ) {
-    /* print C file header */
-    fprintf(
-      ocfile,
-      "/*\n"
-      " *  Declarations for C structure representing binary file %s\n"
-      " *\n"
-      " *  WARNING: Automatically generated -- do not edit!\n"
-      " */\n"
-      "\n"
-      "#include <sys/types.h>\n"
-      "\n",
-      ifbasename
-    );
-
-    /* print structure */
-    fprintf(
-      ocfile,
-      "%s%sunsigned char %s[] = {\n  ",
-      ((usestatic) ? "static " : ""),
-      ((useconst) ? "const " : ""),
-      buf
-    );
-    int c, col = 1;
-    while ((c = myfgetc(ifile)) != EOF) {
-      if (col >= 78 - 6) {
-        fprintf(ocfile, "\n  ");
-        col = 1;
-      }
-      fprintf(ocfile, "0x%.2x, ", c);
-      col += 6;
-
-    }
-    fprintf(ocfile, "\n};\n");
-
-    /* print sizeof */
-    fprintf(
-      ocfile,
-      "\n"
-      "%s%ssize_t %s_size = sizeof(%s);\n",
-      ((usestatic) ? "static " : ""),
-      ((useconst) ? "const " : ""),
-      buf,
-      buf
-    );
-  } /* createC */
-
-  /*****************************************************************/
-  /******                    END OF C FILE                     *****/
-  /*****************************************************************/
-
-  if ( createH ) {
-    /* print H file header */
-    char hbasename[PATH_MAX];
-    char* p;
-    /* Clean up the file name if it is an abs path */
-    strcpy(
-      hbasename,
-      obasename
-    );
-    p = hbasename;
-    while (*p != '\0') {
-      if (*p < '0' || *p > 'z')
-        *p = '_';
-      ++p;
-    }
-    fprintf(
-      ohfile,
-      "/*\n"
-      " *  Extern declarations for C structure representing binary file %s\n"
-      " *\n"
-      " *  WARNING: Automatically generated -- do not edit!\n"
-      " */\n"
-      "\n"
-      "#ifndef __%s_h\n"
-      "#define __%s_h\n"
-      "\n"
-      "#include <sys/types.h>\n"
-      "\n",
-      ifbasename,  /* header */
-      hbasename,  /* ifndef */
-      hbasename   /* define */
-    );
-
-    /* print structure */
-    fprintf(
-      ohfile,
-      "extern %s%sunsigned char %s[];",
-      ((usestatic) ? "static " : ""),
-      ((useconst) ? "const " : ""),
-      buf
-    );
-    /* print sizeof */
-    fprintf(
-      ohfile,
-      "\n"
-      "extern %s%ssize_t %s_size;\n",
-      ((usestatic) ? "static " : ""),
-      ((useconst) ? "const " : ""),
-      buf
-    );
-
-    fprintf(
-      ohfile,
-      "\n"
-      "#endif\n"
-    );
-  } /* createH */
-
-  /*****************************************************************/
-  /******                    END OF H FILE                     *****/
-  /*****************************************************************/
-
-  fclose(ifile);
-  if ( createC ) { fclose(ocfile); }
-  if ( createH ) { fclose(ohfile); }
-  free(ifbasename_to_free);
-}
-
-void usage(void)
-{
-  fprintf(
-     stderr,
-     "usage: bin2c [-csvzCH] [-N name] <input_file> <output_file>\n"
-     "  <input_file> is the binary file to convert\n"
-     "  <output_file> should not have a .c or .h extension\n"
-     "\n"
-     "  -c - do NOT use const in declaration\n"
-     "  -s - do use static in declaration\n"
-     "  -v - verbose\n"
-     "  -z - add zero terminator\n"
-     "  -H - create c-header only\n"
-     "  -C - create c-source file only\n"
-     "  -N - force name of data array\n"
-    );
-  exit(1);
-}
-
-int main(int argc, char **argv)
-{
-  const char *name = NULL;
-  while (argc > 3) {
-    if (!strcmp(argv[1], "-c")) {
-      useconst = 0;
-      --argc;
-      ++argv;
-    } else if (!strcmp(argv[1], "-s")) {
-      usestatic = 1;
-      --argc;
-      ++argv;
-    } else if (!strcmp(argv[1], "-v")) {
-      verbose = 1;
-      --argc;
-      ++argv;
-    } else if (!strcmp(argv[1], "-z")) {
-      zeroterminated = 1;
-      --argc;
-      ++argv;
-    } else if (!strcmp(argv[1], "-C")) {
-      createH = 0;
-      createC = 1;
-      --argc;
-      ++argv;
-    } else if (!strcmp(argv[1], "-H")) {
-      createC = 0;
-      createH = 1;
-      --argc;
-      ++argv;
-    } else if (!strcmp(argv[1], "-N")) {
-      --argc;
-      ++argv;
-      if (argc <= 1) {
-        fprintf(stderr, "error: -N needs a name\n");
-        usage();
-      }
-      name = argv[1];
-      --argc;
-      ++argv;
-    } else {
-      usage();
-    }
-  }
-  if (argc != 3) {
-    usage();
-  }
-
-  /* process( input_file, output_basename ) */
-  process(argv[1], argv[2], name);
-  return 0;
-}
-- 
2.13.7




More information about the devel mailing list