Deleted: trunk/darwinbuild/Makefile (860 => 861)
--- trunk/darwinbuild/Makefile 2010-08-09 21:21:36 UTC (rev 860)
+++ trunk/darwinbuild/Makefile 2010-08-11 00:22:13 UTC (rev 861)
@@ -1,75 +0,0 @@
-include ../common.mk
-
-###
-### Variables for the 'install' phase
-###
-DATDIR:=$(DATDIR)/darwinbuild
-
-PrefixReplacements = darwinbuild \
- darwinmaster.sh \
- packageRoots.sh \
- thinPackages.sh \
- installXcode \
- installXcode32
-
-all: manifest prefixes
-
-manifest: manifest.c
- cc $(CFLAGS) -Wall -Werror -o $(OBJROOT)/$@ -lcrypto $^
-
-prefixes: $(PrefixReplacements)
-
-$(PrefixReplacements): % : %.in
- $(SED) -e 's,%%PREFIX%%,$(PREFIX),' $@.in > $@ ;
-
-install: all
- [ -d $(BINDIR) ] || $(INSTALL) -d $(INSTALL_DIR_FLAGS) $(BINDIR)
- $(INSTALL) $(INSTALL_EXE_FLAGS) darwinbuild $(BINDIR)
- $(INSTALL) $(INSTALL_EXE_FLAGS) darwinmaster $(BINDIR)
-
- [ -d $(DATDIR) ] || $(INSTALL) -d $(INSTALL_DIR_FLAGS) $(DATDIR)
- $(INSTALL) $(INSTALL_DOC_FLAGS) darwinbuild.common $(DATDIR)
- $(INSTALL) $(INSTALL_EXE_FLAGS) installXcode $(DATDIR)
- $(INSTALL) $(INSTALL_EXE_FLAGS) installXcode2 $(DATDIR)
- $(INSTALL) $(INSTALL_EXE_FLAGS) installXcode3 $(DATDIR)
- $(INSTALL) $(INSTALL_EXE_FLAGS) installXcode31 $(DATDIR)
- $(INSTALL) $(INSTALL_EXE_FLAGS) installXcode32 $(DATDIR)
- $(INSTALL) $(INSTALL_DOC_FLAGS) Info.plist $(DATDIR)
- $(INSTALL) $(INSTALL_DOC_FLAGS) SDKSettings.plist $(DATDIR)
-
- $(INSTALL) $(INSTALL_EXE_FLAGS) createChroot $(DATDIR)
- $(INSTALL) $(INSTALL_EXE_FLAGS) $(OBJROOT)/manifest $(DATDIR)
- $(INSTALL) $(INSTALL_EXE_FLAGS) ditto $(DATDIR)
- $(INSTALL) $(INSTALL_EXE_FLAGS) buildlist $(DATDIR)
- $(INSTALL) $(INSTALL_EXE_FLAGS) buildorder $(DATDIR)
- $(INSTALL) $(INSTALL_EXE_FLAGS) packageRoots $(DATDIR)
- $(INSTALL) $(INSTALL_EXE_FLAGS) synthfat $(DATDIR)
- $(INSTALL) $(INSTALL_EXE_FLAGS) thinFile $(DATDIR)
- $(INSTALL) $(INSTALL_EXE_FLAGS) thinPackages $(DATDIR)
-
-uninstall:
- rm -f $(BINDIR)/darwinbuild
- rm -f $(BINDIR)/darwinmaster
- rm -f $(DATDIR)/darwinbuild.common
- rm -f $(DATDIR)/installXcode
- rm -f $(DATDIR)/installXcode2
- rm -f $(DATDIR)/installXcode3
- rm -f $(DATDIR)/installXcode31
- rm -f $(DATDIR)/installXcode32
- rm -f $(DATDIR)/Info.plist
- rm -f $(DATDIR)/SDKSettings.plist
- rm -f $(DATDIR)/createChroot
- rm -f $(DATDIR)/manifest
- rm -f $(DATDIR)/ditto
- rm -f $(DATDIR)/buildlist
- rm -f $(DATDIR)/buildorder
- rm -f $(DATDIR)/packageRoots
- rm -f $(DATDIR)/synthfat
- rm -f $(DATDIR)/thinFile
- rm -f $(DATDIR)/thinPackages
-
-
-clean:
- rm -f manifest
- @$(foreach SCRIPT,$(PrefixReplacements), \
- rm -f $(SCRIPT) ; )
Copied: trunk/darwinbuild/digest.c (from rev 860, branches/PR-8279204/darwinbuild/digest.c) (0 => 861)
--- trunk/darwinbuild/digest.c (rev 0)
+++ trunk/darwinbuild/digest.c 2010-08-11 00:22:13 UTC (rev 861)
@@ -0,0 +1,118 @@
+/*
+ * Copyright (c) 2010 Apple Computer, Inc. All rights reserved.
+ *
+ * @APPLE_BSD_LICENSE_HEADER_START@
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @APPLE_BSD_LICENSE_HEADER_END@
+ */
+
+#include <sys/types.h>
+#include <errno.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <CommonCrypto/CommonDigest.h>
+
+
+void print_usage() {
+ fprintf(stdout, "digest [-1] \n");
+ fprintf(stdout, " Print digest hash of stdin to stdout. \n");
+ fprintf(stdout, " \n");
+ fprintf(stdout, " -1 Use SHA1 hash (default) \n");
+ fprintf(stdout, " \n");
+}
+
+char* format_digest(const unsigned char* m) {
+ char* result = NULL;
+ // SHA-1
+ asprintf(&result,
+ "%02x%02x%02x%02x"
+ "%02x%02x%02x%02x"
+ "%02x%02x%02x%02x"
+ "%02x%02x%02x%02x"
+ "%02x%02x%02x%02x",
+ m[0], m[1], m[2], m[3],
+ m[4], m[5], m[6], m[7],
+ m[8], m[9], m[10], m[11],
+ m[12], m[13], m[14], m[15],
+ m[16], m[17], m[18], m[19]
+ );
+ return result;
+}
+
+char* calculate_digest(int fd) {
+ unsigned char md[CC_SHA1_DIGEST_LENGTH];
+ CC_SHA1_CTX c;
+ CC_SHA1_Init(&c);
+
+ memset(md, 0, CC_SHA1_DIGEST_LENGTH);
+
+ ssize_t len;
+ const unsigned int blocklen = 8192;
+ unsigned char* block = (unsigned char*)malloc(blocklen);
+ if (!block) {
+ errno = ENOMEM;
+ return NULL;
+ }
+ while(1) {
+ len = read(fd, block, blocklen);
+ if (len == 0) { close(fd); break; }
+ if ((len < 0) && (errno == EINTR)) continue;
+ if (len < 0) { close(fd); return NULL; }
+ CC_SHA1_Update(&c, block, (size_t)len);
+ }
+
+ CC_SHA1_Final(md, &c);
+ free(block);
+ return format_digest(md);
+}
+
+
+int main(int argc, char* argv[]) {
+
+ int digest = 1; // default to SHA1
+
+ int ch;
+ while ((ch = getopt(argc, argv, "1")) != -1) {
+ switch (ch) {
+ case '1':
+ digest = 1;
+ break;
+ case '?':
+ default:
+ print_usage();
+ exit(1);
+ }
+ }
+ argc -= optind;
+ argv += optind;
+
+ fprintf(stdout, "%s\n", calculate_digest(fileno(stdin)));
+
+ return 0;
+}
Deleted: trunk/darwinxref/Makefile (860 => 861)
--- trunk/darwinxref/Makefile 2010-08-09 21:21:36 UTC (rev 860)
+++ trunk/darwinxref/Makefile 2010-08-11 00:22:13 UTC (rev 861)
@@ -1,108 +0,0 @@
-include ../common.mk
-
-###
-### Variables for the 'install' phase
-###
-DATDIR:=$(DATDIR)/darwinxref
-INCDIR:=$(INCDIR)/darwinbuild
-
-SOURCES= \
- DBDataStore.c \
- DBPlugin.c \
- DBTclPlugin.c \
- cfutils.c \
- main.c
-
-PLUGIN_SOURCES=$(wildcard plugins/*.c)
-PLUGIN_OBJECTS=$(PLUGIN_SOURCES:.c=.so) $(wildcard plugins/*.tcl)
-
-### todo: --with-plugin-path configuration
-CFLAGS+= \
- -DDEFAULT_DB_FILE=\".build/xref.db\" \
- -DDEFAULT_PLUGIN_PATH=\"$(subst $(DESTDIR),,$(DATDIR))/plugins\" \
-
-### todo: --with-tcl-plugins configuration
-TCL_CFLAGS=-DHAVE_TCL_PLUGINS=1
-TCL_LDFLAGS=-ltcl
-
-CFLAGS+=-g -Wall -Werror $(TCL_CFLAGS) $(SQLITEINC)
-LDFLAGS+=-framework CoreFoundation $(TCL_LDFLAGS)
-PLUGIN_CFLAGS=$(CFLAGS) -I.
-PLUGIN_LDFLAGS=$(LDFLAGS) -bundle -bundle_loader $(SYMROOT)/darwinxref
-
-CC = cc
-DSYMUTIL = dsymutil
-
-all: \
- darwinxref \
- $(PLUGIN_SOURCES:.c=.so) \
- upgrade_plist \
- apple_plugins
-
-install: all install_apple_plugins
- [ -d $(BINDIR) ] || \
- $(INSTALL) -d $(INSTALL_DIR_FLAGS) $(BINDIR)
- $(INSTALL) $(INSTALL_EXE_FLAGS) $(SYMROOT)/darwinxref $(BINDIR)
-
- [ -d $(DATDIR)/plugins ] || \
- $(INSTALL) -d $(INSTALL_DIR_FLAGS) $(DATDIR)/plugins
- $(INSTALL) $(INSTALL_DOC_FLAGS) $(OBJROOT)/plugins/*.so plugins/*.tcl $(DATDIR)/plugins
-
- [ -d $(INCDIR) ] || \
- $(INSTALL) -d $(INSTALL_DIR_FLAGS) $(INCDIR)
- $(INSTALL) $(INSTALL_DOC_FLAGS) DBPlugin.h cfutils.h $(INCDIR)
-
-uninstall:
- rm -f $(BINDIR)/darwinxref
- [ ! -d $(DATDIR) ] || ( cd $(DATDIR) && rm -f $(PLUGIN_OBJECTS) )
- -rmdir $(DATDIR)/plugins
- -rmdir $(DATDIR)
-
- rm -f $(INCDIR)/DBPlugin.h
- rm -f $(INCDIR)/cfutils.h
- -rmdir $(INCDIR)
-
-clean:
- rm -f darwinxref
- rm -rf darwinxref.dSYM
- rm -f $(SOURCES:.c=.o)
- rm -f $(PLUGIN_SOURCES:.c=.so)
- rm -rf $(PLUGIN_SOURCES:.c=.so.dSYM)
- rm -f upgrade_plist
- rm -rf upgrade_plist.dSYM
-
-darwinxref: $(SOURCES)
- @for CFILE in $(SOURCES); do \
- OFILE=$$(echo $$(basename $${CFILE}) | sed -e 's,\.[^.]*$$,.o,') ; \
- CMD="$(CC) $(CFLAGS) -c -o $(OBJROOT)/$${OFILE} $${CFILE}"; \
- echo $$CMD ; $$CMD || exit 1 ; \
- done
- $(CC) $(LDFLAGS) $(CFLAGS) -o $(SYMROOT)/darwinxref \
- $(SQLITELIB) \
- $(foreach OFILE, $(SOURCES:.c=.o), $(OBJROOT)/$(notdir $(OFILE)))
- $(DSYMUTIL) --out $(SYMROOT)/darwinxref.dSYM $(SYMROOT)/darwinxref || true
-
-plugins/register.so: plugins/register.c DBPlugin.h darwinxref
- @mkdir -p $(OBJROOT)/plugins
- cc $(CFLAGS) -o $(OBJROOT)/$@ $(PLUGIN_CFLAGS) $(PLUGIN_LDFLAGS) $(SQLITEINC) $(SQLITELIB) -lcrypto $<
-
-plugins/%.so: plugins/%.c DBPlugin.h darwinxref
- @mkdir -p $(OBJROOT)/plugins
- cc $(CFLAGS) -o $(OBJROOT)/$@ $(PLUGIN_CFLAGS) $(PLUGIN_LDFLAGS) $<
-
-plugins-darwinports/%.so: plugins-darwinports/%.c DBPlugin.h darwinxref
- cc $(CFLAGS) -o $(OBJROOT)/$@ $(PLUGIN_CFLAGS) $(PLUGIN_LDFLAGS) $<
-
-apple_plugins:
- @if [ -d plugins-apple ]; then \
- make -C plugins-apple; \
- fi
-
-install_apple_plugins:
- @if [ -d plugins-apple ]; then \
- make -C plugins-apple install; \
- fi
-
-upgrade_plist: upgrade_plist.c cfutils.c
- cc $(CFLAGS) -o $(OBJROOT)/$@ $(CFLAGS) $(LDFLAGS) $^
-