[Vm-dev] [commit] r2564 - buil ckformat and install in plugin directory

commits at squeakvm.org commits at squeakvm.org
Mon Jul 30 18:30:13 UTC 2012


Author: piumarta
Date: 2012-07-30 11:30:13 -0700 (Mon, 30 Jul 2012)
New Revision: 2564

Added:
   trunk/platforms/unix/cmake/ckformat.c
Modified:
   trunk/platforms/unix/vm/build.cmake
Log:
buil ckformat and install in plugin directory

Added: trunk/platforms/unix/cmake/ckformat.c
===================================================================
--- trunk/platforms/unix/cmake/ckformat.c	                        (rev 0)
+++ trunk/platforms/unix/cmake/ckformat.c	2012-07-30 18:30:13 UTC (rev 2564)
@@ -0,0 +1,180 @@
+/* ckformat: Print the image format number on standard output */
+/* for use in a shell script to test image format requirements. */
+/* A non-zero return status code indicates failure. */
+
+/* Usage: ckformat imageFileName */
+
+/* --- DO NOT EDIT THIS FILE --- */
+/* --- Automatically generated from class ImageFormat 2010-12-31T16:30:58.66-05:00--- */
+/* --- Souce code is in package ImageFormat, archive www.squeaksource.com/VMMaker --- */
+/* --- DO NOT EDIT THIS FILE --- */
+
+#include <stdio.h>
+
+#include <stdlib.h>
+
+int main(int argc, char **argv) {
+	FILE *f;
+	unsigned char buf[8];
+	int formatNumber;
+	int match;
+	if (argc != 2) {
+		printf("usage: ckformat imageFileName\n");
+		exit(1);
+	}
+	f = fopen(argv[1], "r");
+	if (f == NULL) {
+		perror(argv[1]);
+		exit(2);
+	}
+	if (fread(buf, 1, 8, f) < 8) {
+		fprintf(stderr, "cannot read %s\n", argv[1]);
+		exit(3);
+	}
+	formatNumber= 6502;
+	match = 1;
+	if (buf[0] != 0) match= 0;
+	if (buf[1] != 0) match= 0;
+	if (buf[2] != 25) match= 0;
+	if (buf[3] != 102) match= 0;
+	if (match) {
+		printf("%d\n", formatNumber);
+		exit(0);
+	}
+	formatNumber= 6502;
+	match = 1;
+	if (buf[0] != 102) match= 0;
+	if (buf[1] != 25) match= 0;
+	if (buf[2] != 0) match= 0;
+	if (buf[3] != 0) match= 0;
+	if (match) {
+		printf("%d\n", formatNumber);
+		exit(0);
+	}
+	formatNumber= 6504;
+	match = 1;
+	if (buf[0] != 0) match= 0;
+	if (buf[1] != 0) match= 0;
+	if (buf[2] != 25) match= 0;
+	if (buf[3] != 104) match= 0;
+	if (match) {
+		printf("%d\n", formatNumber);
+		exit(0);
+	}
+	formatNumber= 6504;
+	match = 1;
+	if (buf[0] != 104) match= 0;
+	if (buf[1] != 25) match= 0;
+	if (buf[2] != 0) match= 0;
+	if (buf[3] != 0) match= 0;
+	if (match) {
+		printf("%d\n", formatNumber);
+		exit(0);
+	}
+	formatNumber= 6505;
+	match = 1;
+	if (buf[0] != 0) match= 0;
+	if (buf[1] != 0) match= 0;
+	if (buf[2] != 25) match= 0;
+	if (buf[3] != 105) match= 0;
+	if (match) {
+		printf("%d\n", formatNumber);
+		exit(0);
+	}
+	formatNumber= 6505;
+	match = 1;
+	if (buf[0] != 105) match= 0;
+	if (buf[1] != 25) match= 0;
+	if (buf[2] != 0) match= 0;
+	if (buf[3] != 0) match= 0;
+	if (match) {
+		printf("%d\n", formatNumber);
+		exit(0);
+	}
+	formatNumber= 68000;
+	match = 1;
+	if (buf[0] != 0) match= 0;
+	if (buf[1] != 0) match= 0;
+	if (buf[2] != 0) match= 0;
+	if (buf[3] != 0) match= 0;
+	if (buf[4] != 0) match= 0;
+	if (buf[5] != 1) match= 0;
+	if (buf[6] != 9) match= 0;
+	if (buf[7] != 160) match= 0;
+	if (match) {
+		printf("%d\n", formatNumber);
+		exit(0);
+	}
+	formatNumber= 68000;
+	match = 1;
+	if (buf[0] != 160) match= 0;
+	if (buf[1] != 9) match= 0;
+	if (buf[2] != 1) match= 0;
+	if (buf[3] != 0) match= 0;
+	if (buf[4] != 0) match= 0;
+	if (buf[5] != 0) match= 0;
+	if (buf[6] != 0) match= 0;
+	if (buf[7] != 0) match= 0;
+	if (match) {
+		printf("%d\n", formatNumber);
+		exit(0);
+	}
+	formatNumber= 68002;
+	match = 1;
+	if (buf[0] != 0) match= 0;
+	if (buf[1] != 0) match= 0;
+	if (buf[2] != 0) match= 0;
+	if (buf[3] != 0) match= 0;
+	if (buf[4] != 0) match= 0;
+	if (buf[5] != 1) match= 0;
+	if (buf[6] != 9) match= 0;
+	if (buf[7] != 162) match= 0;
+	if (match) {
+		printf("%d\n", formatNumber);
+		exit(0);
+	}
+	formatNumber= 68002;
+	match = 1;
+	if (buf[0] != 162) match= 0;
+	if (buf[1] != 9) match= 0;
+	if (buf[2] != 1) match= 0;
+	if (buf[3] != 0) match= 0;
+	if (buf[4] != 0) match= 0;
+	if (buf[5] != 0) match= 0;
+	if (buf[6] != 0) match= 0;
+	if (buf[7] != 0) match= 0;
+	if (match) {
+		printf("%d\n", formatNumber);
+		exit(0);
+	}
+	formatNumber= 68003;
+	match = 1;
+	if (buf[0] != 0) match= 0;
+	if (buf[1] != 0) match= 0;
+	if (buf[2] != 0) match= 0;
+	if (buf[3] != 0) match= 0;
+	if (buf[4] != 0) match= 0;
+	if (buf[5] != 1) match= 0;
+	if (buf[6] != 9) match= 0;
+	if (buf[7] != 163) match= 0;
+	if (match) {
+		printf("%d\n", formatNumber);
+		exit(0);
+	}
+	formatNumber= 68003;
+	match = 1;
+	if (buf[0] != 163) match= 0;
+	if (buf[1] != 9) match= 0;
+	if (buf[2] != 1) match= 0;
+	if (buf[3] != 0) match= 0;
+	if (buf[4] != 0) match= 0;
+	if (buf[5] != 0) match= 0;
+	if (buf[6] != 0) match= 0;
+	if (buf[7] != 0) match= 0;
+	if (match) {
+		printf("%d\n", formatNumber);
+		exit(0);
+	}
+	printf("0"); /* print an invalid format number */
+	exit (-1); /* not found, exit with error code */
+}

Modified: trunk/platforms/unix/vm/build.cmake
===================================================================
--- trunk/platforms/unix/vm/build.cmake	2012-07-30 18:23:16 UTC (rev 2563)
+++ trunk/platforms/unix/vm/build.cmake	2012-07-30 18:30:13 UTC (rev 2564)
@@ -65,17 +65,24 @@
   COMMAND chmod +x ${bld}/squeak
 )
 
+INSTALL (PROGRAMS ${bld}/squeak DESTINATION bin)
+
 ADD_CUSTOM_TARGET (squeak.sh
   DEPENDS ${config}/squeak.sh.in
   COMMAND sh ${bld}/config ${config}/squeak.sh.in ${bld}/squeak.sh
   COMMAND chmod +x ${bld}/squeak.sh
 )
 
-ADD_DEPENDENCIES (squeakvm squeak squeak.sh)
-
-INSTALL (PROGRAMS ${bld}/squeak DESTINATION bin)
 INSTALL (PROGRAMS ${bld}/squeak.sh DESTINATION bin)
 
+ADD_EXECUTABLE (ckformat
+  ${config}/ckformat.c
+)
+
+INSTALL (PROGRAMS ${bld}/ckformat DESTINATION ${plgdir})
+
+ADD_DEPENDENCIES (squeakvm squeak squeak.sh ckformat)
+
 # manual page
 
 ADD_CUSTOM_TARGET (squeak.1



More information about the Vm-dev mailing list