bba: Require explicit endianness flag, and supply it

Signed-off-by: Marcus Comstedt <marcus@mc.pp.se>
diff --git a/bba/bba.cmake b/bba/bba.cmake
index 3e09427..a6995ca 100644
--- a/bba/bba.cmake
+++ b/bba/bba.cmake
@@ -11,3 +11,11 @@
 IF(NOT CMAKE_CROSSCOMPILING)
     EXPORT(TARGETS bbasm FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake )
 ENDIF(NOT CMAKE_CROSSCOMPILING)
+
+include(TestBigEndian)
+TEST_BIG_ENDIAN(IS_BIG_ENDIAN)
+if(IS_BIG_ENDIAN)
+	set(BBASM_ENDIAN_FLAG "--be")
+else()
+	set(BBASM_ENDIAN_FLAG "--le")
+endif()
diff --git a/bba/main.cc b/bba/main.cc
index b9cf6d8..d4d16e1 100644
--- a/bba/main.cc
+++ b/bba/main.cc
@@ -66,12 +66,6 @@
     return p;
 }
 
-bool testBigEndian()
-{
-    int n = 1;
-    return !*(const char *)&n;
-}
-
 int main(int argc, char **argv)
 {
     bool debug = false;
@@ -115,8 +109,10 @@
         bigEndian = true;
     else if (vm.count("le"))
         bigEndian = false;
-    else
-        bigEndian = testBigEndian();
+    else {
+        printf("Endian parameter is mandatory\n");
+        exit(-1);
+    }
     if (vm.count("c"))
         writeC = true;
 
diff --git a/ecp5/family.cmake b/ecp5/family.cmake
index ec85756..4fe45a0 100644
--- a/ecp5/family.cmake
+++ b/ecp5/family.cmake
@@ -45,7 +45,7 @@
                 DEPENDS ${DB_PY} ${PREV_DEV_CC_BBA_DB}
                 )
             add_custom_command(OUTPUT ${DEV_CC_DB}
-                COMMAND bbasm ${DEV_CC_BBA_DB} ${DEV_CC_DB}
+                COMMAND bbasm ${BBASM_ENDIAN_FLAG} ${DEV_CC_BBA_DB} ${DEV_CC_DB}
                 DEPENDS bbasm ${DEV_CC_BBA_DB}
                 )
             if (SERIALIZE_CHIPDB)
@@ -70,7 +70,7 @@
                 DEPENDS ${DB_PY} ${PREV_DEV_CC_BBA_DB}
                 )
             add_custom_command(OUTPUT ${DEV_CC_DB}
-                COMMAND bbasm --c ${DEV_CC_BBA_DB} ${DEV_CC_DB}.new
+                COMMAND bbasm --c ${BBASM_ENDIAN_FLAG} ${DEV_CC_BBA_DB} ${DEV_CC_DB}.new
                 COMMAND mv ${DEV_CC_DB}.new ${DEV_CC_DB}
                 DEPENDS bbasm ${DEV_CC_BBA_DB}
                 )
diff --git a/ice40/family.cmake b/ice40/family.cmake
index 6c46f45..3679a72 100644
--- a/ice40/family.cmake
+++ b/ice40/family.cmake
@@ -44,7 +44,7 @@
                 DEPENDS ${DEV_CONSTIDS_INC} ${DEV_GFXH} ${DEV_TXT_DB} ${DB_PY} ${PREV_DEV_CC_BBA_DB}
                 )
             add_custom_command(OUTPUT ${DEV_CC_DB}
-                COMMAND bbasm ${DEV_CC_BBA_DB} ${DEV_CC_DB}
+                COMMAND bbasm ${BBASM_ENDIAN_FLAG} ${DEV_CC_BBA_DB} ${DEV_CC_DB}
                 DEPENDS bbasm ${DEV_CC_BBA_DB}
                 )
             if (SERIALIZE_CHIPDB)
@@ -84,7 +84,7 @@
                 DEPENDS ${DEV_CONSTIDS_INC} ${DEV_GFXH} ${DEV_TXT_DB} ${DB_PY} ${PREV_DEV_CC_BBA_DB}
                 )
             add_custom_command(OUTPUT ${DEV_CC_DB}
-                COMMAND bbasm --c ${DEV_CC_BBA_DB} ${DEV_CC_DB}.new
+                COMMAND bbasm --c ${BBASM_ENDIAN_FLAG} ${DEV_CC_BBA_DB} ${DEV_CC_DB}.new
                 COMMAND mv ${DEV_CC_DB}.new ${DEV_CC_DB}
                 DEPENDS bbasm ${DEV_CC_BBA_DB}
                 )