Merge branch 'master' of git://cadel.mutabah.net/acess2
authorJohn Hodge (sonata) <[email protected]>
Sun, 15 Feb 2015 07:57:04 +0000 (15:57 +0800)
committerJohn Hodge (sonata) <[email protected]>
Sun, 15 Feb 2015 07:57:04 +0000 (15:57 +0800)
Conflicts:
Externals/cross-compiler/Makefile

AcessNative/RunNative
Externals/cross-compiler/Makefile
Externals/cross-compiler/Makefile.common.mk [new file with mode: 0644]
Externals/cross-compiler/Makefile.cross [new file with mode: 0644]
Externals/cross-compiler/Makefile.rules.mk [new file with mode: 0644]
Externals/libspiderscript/source
Makefile
Tools/NetTest_Runner/include/test.h
Tools/NetTest_Runner/test_arp.c
Tools/NetTest_Runner/test_tcp.c

index 03ec6b0..406573d 100755 (executable)
@@ -11,7 +11,7 @@ KERNEL_PID=$$
 function cleanup {
        trap '' SIGINT
        echo Cleaning up $KERNEL_PID
-       kill $KERNEL_PID
+       kill -INT $KERNEL_PID
 }
 
 trap cleanup SIGINT
@@ -23,7 +23,19 @@ ${DIR}/AcessKernel --distroot $DISTROOT > ${DIR}/log/native_AcessKernel.log 2>&1
 KERNEL_PID=$!
 echo Kernel is $KERNEL_PID
 sleep 1
-LD_LIBRARY_PATH=${DIR}:${DISTROOT}Libs AN_PREOPEN=$VTERM:$VTERM:$VTERM ${DBG} ${DISTROOT}Apps/AxWin/4.0/AxWinServer
+
+APP=gui4
+
+case $APP in
+gui4)
+       LD_LIBRARY_PATH=${DIR}:${DISTROOT}Libs AN_PREOPEN=$VTERM:$VTERM:$VTERM ${DBG} ${DISTROOT}Apps/AxWin/4.0/AxWinServer
+       ;;
+gui3)
+       LD_LIBRARY_PATH=${DIR}:${DISTROOT}Libs AN_PREOPEN=$VTERM:$VTERM:$VTERM ${DBG} ${DISTROOT}Apps/AxWin/3.0/AxWinWM
+       ;;
+*)
+       echo "Unknown application '$APP'"
+esac
 
 trap '' SIGINT
 cleanup
index b3a489d..ae2df5a 100644 (file)
@@ -1,77 +1,28 @@
 #
 #
 #
--include ../config.mk
+include Makefile.common.mk
 
-GCC_ARCHIVE:=$(lastword $(sort $(wildcard gcc-*.tar.bz2)))
-GCC_DIR:=$(GCC_ARCHIVE:%.tar.bz2=%)
-BINUTILS_ARCHIVE:=$(lastword $(sort $(wildcard binutils-*.tar.bz2)))
-BINUTILS_DIR:=$(BINUTILS_ARCHIVE:%.tar.bz2=%)
+GCC_TARGETS := gcc
 
-ifeq ($(GCC_ARCHIVE),)
- $(warning Unable to find a GCC archive matching gcc-*.tar.bz2)
- $(error No archive found)
-endif
-ifeq ($(BINUTILS_ARCHIVE),)
- $(warning Unable to find a binutils archive matching binutils-*.tar.bz2)
- $(error No archive found)
-endif
+PREFIX := $(OUTDIR)
+BDIR := build-n-$(ARCH)/
+BDIR_GCC := $(BDIR)gcc
+BDIR_BINUTILS := $(BDIR)binutils
 
-BINUTILS_CHANGES := config.sub bfd/config.bfd gas/configure.tgt ld/configure.tgt ld/emulparams/acess2_i386.sh ld/emulparams/acess2_amd64.sh ld/emulparams/acess2_arm.sh ld/Makefile.in
-GCC_CHANGES := config.sub gcc/config.gcc gcc/config/acess2.h libgcc/config.host gcc/config/acess2.opt
-# libstdc++-v3/crossconfig.m4 config/override.m4
+ENVVARS := PATH=$(OUTDIR)-BUILD/bin:$$PATH
 
-TARGET=$(HOST)
-GCC_TARGETS := gcc target-libgcc
-# target-libstdc++-v3 
-
-PREFIX := $(OUTDIR)-BUILD
-BDIR_GCC := build-$(ARCH)/gcc/
-BDIR_BINUTILS := build-$(ARCH)/binutils/
-
-.PHONY: all clean binutils gcc include
-
-all: include binutils gcc
+include Makefile.rules.mk
 
 include:
        mkdir -p $(PREFIX)
-       mkdir -p $(SYSROOT)/usr
-       ln -sf $(ACESSDIR)/Usermode/include $(SYSROOT)/usr/include
-       ln -sf $(ACESSDIR)/Usermode/Output/$(ARCH)/Libs $(SYSROOT)/usr/lib
-
-gcc: $(GCC_DIR) $(PREFIX)/bin/$(TARGET)-gcc
-
-binutils: $(BINUTILS_DIR) $(PREFIX)/bin/$(TARGET)-ld
-
-clean:
-       $(RM) -rf $(BINUTILS_DIR) $(GCC_DIR) build-$(ARCH)
-
-$(BINUTILS_DIR) $(GCC_DIR): %: %.tar.bz2
-       tar -xf $<
-$(warning $(BINUTILS_DIR) $(GCC_DIR))
-
-$(GCC_DIR)/%: patches/gcc/%.patch
-       @echo [PATCH] $@
-       @tar -xf $(GCC_ARCHIVE) $@
-       @patch $@ $<
-$(GCC_DIR)/%: patches/gcc/%
-       @echo [CP] $@
-       @cp $< $@
-
-$(BINUTILS_DIR)/%: patches/binutils/%.patch
-       @echo [PATCH] $@
-       @tar -xf $(BINUTILS_ARCHIVE) $@
-       @patch $@ $<
-$(BINUTILS_DIR)/%: patches/binutils/%
-       @echo [CP] $@
-       @cp $< $@
 
 $(GCC_DIR)/libstdc++-v3/configure: $(GCC_DIR)/libstdc++-v3/crossconfig.m4
        cd $(GCC_DIR)/libstdc++-v3/ && autoconf
 
 $(BDIR_BINUTILS)/Makefile: $(addprefix $(BINUTILS_DIR)/,$(BINUTILS_CHANGES))
        @mkdir -p $(BDIR_BINUTILS)
-       @cd $(BDIR_BINUTILS) && ../../$(BINUTILS_DIR)/configure --target=$(TARGET) --prefix=$(PREFIX) --disable-nls "--with-sysroot=$(SYSROOT)" --enable-shared --without-docdir
+       @cd $(BDIR_BINUTILS) && ../../$(BINUTILS_DIR)/configure --target=$(TARGET) --prefix=$(PREFIX) --disable-nls --enable-shared --without-docdir
 
 $(PREFIX)/bin/$(TARGET)-ld: $(BDIR_BINUTILS)/Makefile
        @make -C $(BDIR_BINUTILS) all -j $(PARLEVEL)
@@ -79,12 +30,12 @@ $(PREFIX)/bin/$(TARGET)-ld: $(BDIR_BINUTILS)/Makefile
 
 $(BDIR_GCC)/Makefile: Makefile $(addprefix $(GCC_DIR)/,$(GCC_CHANGES)) $(GCC_DIR)/libstdc++-v3/configure
        @mkdir -p $(BDIR_GCC)
-       @cd $(BDIR_GCC) && PATH=$(PREFIX)/bin:$$PATH ../../$(GCC_DIR)/configure --target=$(TARGET) --prefix=$(PREFIX) --disable-nls --enable-langs=c,c++ --includedir=$(ACESSDIR)/Usermode/include "--with-sysroot=$(SYSROOT)" --without-docdir --enable-threads=posix
+       @cd $(BDIR_GCC) && $(ENVVARS) ../../$(GCC_DIR)/configure --target=$(TARGET) --prefix=$(PREFIX) --disable-nls --enable-langs=c,c++ --includedir=$(ACESSDIR)/Usermode/include --without-docdir --enable-threads=posix
        @echo "MAKEINFO = :" >> $(BDIR_GCC)/Makefile
 
 $(PREFIX)/bin/$(TARGET)-gcc: $(BDIR_GCC)/Makefile
-       @PATH=$(PREFIX)/bin:$$PATH make -C $(BDIR_GCC) $(GCC_TARGETS:%=all-%) -j $(PARLEVEL)
-       @PATH=$(PREFIX)/bin:$$PATH make -C $(BDIR_GCC)libstdc++-v3/ all-target-libsupc++ -j $(PARLEVEL)
-       @PATH=$(PREFIX)/bin:$$PATH make -C $(BDIR_GCC) $(GCC_TARGETS:%=install-%)
+       @$(ENVVARS) make -C $(BDIR_GCC) $(GCC_TARGETS:%=all-%) -j $(PARLEVEL)
+       @$(ENVVARS) make -C $(BDIR_GCC)libstdc++-v3/ all-target-libsupc++ -j $(PARLEVEL)
+       @$(ENVVARS) make -C $(BDIR_GCC) $(GCC_TARGETS:%=install-%)
 
 
diff --git a/Externals/cross-compiler/Makefile.common.mk b/Externals/cross-compiler/Makefile.common.mk
new file mode 100644 (file)
index 0000000..b986044
--- /dev/null
@@ -0,0 +1,26 @@
+#
+#
+#
+-include ../config.mk
+
+GCC_ARCHIVE:=$(lastword $(sort $(wildcard gcc-*.tar.bz2)))
+GCC_DIR:=$(GCC_ARCHIVE:%.tar.bz2=%)
+BINUTILS_ARCHIVE:=$(lastword $(sort $(wildcard binutils-*.tar.bz2)))
+BINUTILS_DIR:=$(BINUTILS_ARCHIVE:%.tar.bz2=%)
+
+ifeq ($(GCC_ARCHIVE),)
+ $(warning Unable to find a GCC archive matching gcc-*.tar.bz2)
+ $(error No archive found)
+endif
+ifeq ($(BINUTILS_ARCHIVE),)
+ $(warning Unable to find a binutils archive matching binutils-*.tar.bz2)
+ $(error No archive found)
+endif
+
+BINUTILS_CHANGES := config.sub bfd/config.bfd gas/configure.tgt ld/configure.tgt ld/emulparams/acess2_i386.sh ld/emulparams/acess2_amd64.sh ld/emulparams/acess2_arm.sh ld/Makefile.in
+GCC_CHANGES := config.sub gcc/config.gcc gcc/config/acess2.h libgcc/config.host gcc/config/acess2.opt
+# libstdc++-v3/crossconfig.m4 config/override.m4
+
+TARGET=$(HOST)
+GCC_TARGETS := gcc target-libgcc
+# target-libstdc++-v3 
diff --git a/Externals/cross-compiler/Makefile.cross b/Externals/cross-compiler/Makefile.cross
new file mode 100644 (file)
index 0000000..c6a4edd
--- /dev/null
@@ -0,0 +1,39 @@
+#
+#
+#
+include Makefile.common.mk
+
+PREFIX := $(OUTDIR)-BUILD
+BDIR := build-$(ARCH)/
+BDIR_GCC := $(BDIR)gcc
+BDIR_BINUTILS := $(BDIR)binutils
+
+include Makefile.rules.mk
+
+include:
+       mkdir -p $(PREFIX)
+       mkdir -p $(SYSROOT)/usr
+       ln -sf $(ACESSDIR)/Usermode/include $(SYSROOT)/usr/include
+       ln -sf $(ACESSDIR)/Usermode/Output/$(ARCH)/Libs $(SYSROOT)/usr/lib
+
+$(GCC_DIR)/libstdc++-v3/configure: $(GCC_DIR)/libstdc++-v3/crossconfig.m4
+       cd $(GCC_DIR)/libstdc++-v3/ && autoconf
+
+$(BDIR_BINUTILS)/Makefile: $(addprefix $(BINUTILS_DIR)/,$(BINUTILS_CHANGES))
+       @mkdir -p $(BDIR_BINUTILS)
+       @cd $(BDIR_BINUTILS) && ../../$(BINUTILS_DIR)/configure --target=$(TARGET) --prefix=$(PREFIX) --disable-nls "--with-sysroot=$(SYSROOT)" --enable-shared --without-docdir
+
+$(PREFIX)/bin/$(TARGET)-ld: $(BDIR_BINUTILS)/Makefile
+       @make -C $(BDIR_BINUTILS) all -j $(PARLEVEL)
+       @make -C $(BDIR_BINUTILS) install
+
+$(BDIR_GCC)/Makefile: Makefile $(addprefix $(GCC_DIR)/,$(GCC_CHANGES)) $(GCC_DIR)/libstdc++-v3/configure
+       @mkdir -p $(BDIR_GCC)
+       @cd $(BDIR_GCC) && PATH=$(PREFIX)/bin:$$PATH ../../$(GCC_DIR)/configure --target=$(TARGET) --prefix=$(PREFIX) --disable-nls --enable-langs=c,c++ --includedir=$(ACESSDIR)/Usermode/include "--with-sysroot=$(SYSROOT)" --without-docdir --enable-threads=posix
+       @echo "MAKEINFO = :" >> $(BDIR_GCC)/Makefile
+
+$(PREFIX)/bin/$(TARGET)-gcc: $(BDIR_GCC)/Makefile
+       @PATH=$(PREFIX)/bin:$$PATH make -C $(BDIR_GCC) $(GCC_TARGETS:%=all-%) -j $(PARLEVEL)
+       @PATH=$(PREFIX)/bin:$$PATH make -C $(BDIR_GCC) $(GCC_TARGETS:%=install-%)
+
+
diff --git a/Externals/cross-compiler/Makefile.rules.mk b/Externals/cross-compiler/Makefile.rules.mk
new file mode 100644 (file)
index 0000000..48bf43d
--- /dev/null
@@ -0,0 +1,32 @@
+
+.PHONY: all clean binutils gcc include
+
+all: include binutils gcc
+
+clean:
+       $(RM) -rf $(BINUTILS_DIR) $(GCC_DIR) build-$(ARCH)
+
+gcc: $(GCC_DIR) $(PREFIX)/bin/$(TARGET)-gcc
+
+binutils: $(BINUTILS_DIR) $(PREFIX)/bin/$(TARGET)-ld
+
+$(BINUTILS_DIR) $(GCC_DIR): %: %.tar.bz2
+       tar -xf $<
+
+$(GCC_DIR)/%: patches/gcc/%.patch
+       @echo [PATCH] $@
+       @tar -xf $(GCC_ARCHIVE) $@
+       @patch $@ $<
+$(GCC_DIR)/%: patches/gcc/%
+       @echo [CP] $@
+       @cp $< $@
+
+$(BINUTILS_DIR)/%: patches/binutils/%.patch
+       @echo [PATCH] $@
+       @tar -xf $(BINUTILS_ARCHIVE) $@
+       @patch $@ $<
+$(BINUTILS_DIR)/%: patches/binutils/%
+       @echo [CP] $@
+       @cp $< $@
+
+
index 86657ee..9f2d7fa 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 86657eeb5a3c6dd2de759b2fc18d1f09a3da2a98
+Subproject commit 9f2d7faf34c16ceaee2f1bffe3d5558c41382523
index fa66344..a2e46d1 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -136,5 +136,5 @@ $(CC):
        @echo ---
        @echo $(CC) does not exist, recompiling
        @echo ---
-       make -C Externals/cross-compiler/
+       make -C Externals/cross-compiler/ -f Makefile.cross
 endif
index 6c65b42..9ad23c3 100644 (file)
@@ -17,5 +17,18 @@ extern void  test_assertion_fail(const char *filename, int line, const char *test
 extern void    test_trace(const char *msg, ...);
 extern void    test_trace_hexdump(const char *hdr, const void *data, size_t len);
 
+// Some helpful macros
+// - They require some names to be present
+#define RX_HEADER \
+       size_t  rxlen, ofs, len; \
+       do { ofs = 0; ofs = ofs; len = 0; len = len; } while(0);\
+       char rxbuf[MTU]
+#define TEST_HEADER \
+       TEST_SETNAME(__func__);\
+       RX_HEADER
+
+#define TEST_ASSERT_rx()       TEST_ASSERT( rxlen = Net_Receive(0, sizeof(rxbuf), rxbuf, ERX_TIMEOUT) )
+#define TEST_ASSERT_no_rx()    TEST_ASSERT( Net_Receive(0, sizeof(rxbuf), rxbuf, NRX_TIMEOUT) == 0 )
+
 #endif
 
index 92acc71..9c6f044 100644 (file)
@@ -6,25 +6,26 @@
 #include "stack.h"
 #include "arp.h"
 
+static const int       ERX_TIMEOUT = 1000;     // Expect RX timeout (timeout=failure)
+static const int       NRX_TIMEOUT = 250;      // Not expect RX timeout (timeout=success)
+
 bool Test_ARP_Basic(void)
 {
-       TEST_SETNAME(__func__);
-       size_t  rxlen;
-       char rxbuf[MTU];
+       TEST_HEADER;
        
        // Request test machine's IP
        ARP_SendRequest(0, BLOB(TEST_IP));
-       TEST_ASSERT( rxlen = Net_Receive(0, sizeof(rxbuf), rxbuf, 1000) );
+       TEST_ASSERT_rx();
        TEST_ASSERT( ARP_Pkt_IsResponse(rxlen, rxbuf, BLOB(TEST_IP), BLOB(TEST_MAC)) );
 
        // Request host machine's IP
        ARP_SendRequest(0, BLOB(HOST_IP));
-       TEST_ASSERT( Net_Receive(0, sizeof(rxbuf), rxbuf, 1000) == 0 );
+       TEST_ASSERT_no_rx();
 
        #if 0   
        // Ask test machine to request our IP
        Stack_SendCommand("arprequest "HOST_IP_STR);
-       TEST_ASSERT( rxlen = Net_Receive(0, sizeof(rxbuf), rxbuf, 1000) );
+       TEST_ASSERT_rx();
        TEST_ASSERT( ARP_Pkt_IsRequest(rxlen, rxbuf, HOST_IP) );
 
        // Respond
@@ -32,7 +33,7 @@ bool Test_ARP_Basic(void)
        
        // Ask test machine to request our IP again (expecting nothing)
        Stack_SendCommand("arprequest "HOST_IP_STR);
-       TEST_ASSERT( !Net_Receive(0, sizeof(rxbuf), rxbuf, 1000) );
+       TEST_ASSERT_no_rx();
        #endif
        
        return true;
index 146d18f..42aa2d5 100644 (file)
 
 #define TEST_TIMERS    0
 
-#define RX_HEADER \
-       size_t  rxlen, ofs, len; \
-       char rxbuf[MTU]
-#define TEST_HEADER \
-       TEST_SETNAME(__func__);\
-       RX_HEADER
-
-#define TEST_ASSERT_rx()       TEST_ASSERT( rxlen = Net_Receive(0, sizeof(rxbuf), rxbuf, ERX_TIMEOUT) )
-#define TEST_ASSERT_no_rx()    TEST_ASSERT( Net_Receive(0, sizeof(rxbuf), rxbuf, NRX_TIMEOUT) == 0 )
-const int      ERX_TIMEOUT = 1000;     // Expect RX timeout (timeout=failure)
-const int      NRX_TIMEOUT = 250;      // Not expect RX timeout (timeout=success)
-const int      RETX_TIMEOUT = 1000;    // OS PARAM - Retransmit timeout
-const int      LOST_TIMEOUT = 1000;    // OS PARAM - Time before sending an ACK 
-const int      DACK_TIMEOUT = 500;     // OS PARAM - Timeout for delayed ACKs
-const size_t   DACK_BYTES = 4096;      // OS PARAM - Threshold for delayed ACKs
+static const int       ERX_TIMEOUT = 1000;     // Expect RX timeout (timeout=failure)
+static const int       NRX_TIMEOUT = 250;      // Not expect RX timeout (timeout=success)
+static const int       RETX_TIMEOUT = 1000;    // OS PARAM - Retransmit timeout
+static const int       LOST_TIMEOUT = 1000;    // OS PARAM - Time before sending an ACK 
+static const int       DACK_TIMEOUT = 500;     // OS PARAM - Timeout for delayed ACKs
+static const size_t    DACK_BYTES = 4096;      // OS PARAM - Threshold for delayed ACKs
 
 bool Test_TCP_Basic(void)
 {

UCC git Repository :: git.ucc.asn.au