Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenFoam-7 cannot support aarch64 compiling #1

Open
darmac opened this issue Aug 6, 2020 · 0 comments
Open

OpenFoam-7 cannot support aarch64 compiling #1

darmac opened this issue Aug 6, 2020 · 0 comments

Comments

@darmac
Copy link

darmac commented Aug 6, 2020

As I see, openfoam cannot support aarch64.
Is that patch can be merge to openfoam?

diff -uNr OpenFOAM-7/etc/config.sh/settings OpenFOAM-7-new/etc/config.sh/settings
--- OpenFOAM-7/etc/config.sh/settings   2020-07-27 08:37:02.560000000 +0000
+++ OpenFOAM-7-new/etc/config.sh/settings       2020-07-29 07:36:05.140000000 +0000
@@ -105,6 +105,17 @@
         export WM_LDFLAGS='-m64'
         ;;

+
+    aarch64)
+        WM_ARCH=linuxARM64
+        export WM_COMPILER_LIB_ARCH=64
+        export WM_CC='gcc'
+        export WM_CXX='g++'
+        export WM_CFLAGS='-fPIC'
+        export WM_CXXFLAGS='-fPIC'
+        export WM_LDFLAGS=
+        ;;
+
     *)
         echo Unknown processor type `uname -m` for Linux 1>&2
         ;;
diff -uNr OpenFOAM-7/wmake/rules/linuxARM64Gcc/c OpenFOAM-7-new/wmake/rules/linuxARM64Gcc/c
--- OpenFOAM-7/wmake/rules/linuxARM64Gcc/c      1970-01-01 00:00:00.000000000 +0000
+++ OpenFOAM-7-new/wmake/rules/linuxARM64Gcc/c  2020-07-29 02:42:21.460000000 +0000
@@ -0,0 +1,16 @@
+SUFFIXES += .c
+
+cWARN        = -Wall
+
+cc          = gcc
+
+include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
+
+cFLAGS      = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
+
+ctoo        = $(WM_SCHEDULER) $(cc) $(cFLAGS) -c $< -o $@
+
+LINK_LIBS   = $(cDBUG)
+
+LINKLIBSO   = $(cc) -fuse-ld=bfd -shared
+LINKEXE     = $(cc) -fuse-ld=bfd -Xlinker --add-needed -Xlinker -z -Xlinker nodefs
diff -uNr OpenFOAM-7/wmake/rules/linuxARM64Gcc/c++ OpenFOAM-7-new/wmake/rules/linuxARM64Gcc/c++
--- OpenFOAM-7/wmake/rules/linuxARM64Gcc/c++    1970-01-01 00:00:00.000000000 +0000
+++ OpenFOAM-7-new/wmake/rules/linuxARM64Gcc/c++        2020-07-29 02:42:21.470000000 +0000
@@ -0,0 +1,25 @@
+SUFFIXES += .C
+
+c++WARN     = -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter \
+              -Wno-invalid-offsetof -Wno-attributes
+
+# Suppress some warnings for flex++ and CGAL
+c++LESSWARN = -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-array-bounds
+
+CC          = g++ -std=c++11
+
+include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
+
+ptFLAGS     = -DNoRepository -ftemplate-depth-100
+
+c++FLAGS    = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS) -fPIC
+
+Ctoo        = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $< -o $@
+cxxtoo      = $(Ctoo)
+cctoo       = $(Ctoo)
+cpptoo      = $(Ctoo)
+
+LINK_LIBS   = $(c++DBUG)
+
+LINKLIBSO   = $(CC) $(c++FLAGS) -fuse-ld=bfd -shared -Xlinker --add-needed -Xlinker --no-as-needed
+LINKEXE     = $(CC) $(c++FLAGS) -fuse-ld=bfd -Xlinker --add-needed -Xlinker --no-as-needed
diff -uNr OpenFOAM-7/wmake/rules/linuxARM64Gcc/c++Debug OpenFOAM-7-new/wmake/rules/linuxARM64Gcc/c++Debug
--- OpenFOAM-7/wmake/rules/linuxARM64Gcc/c++Debug       1970-01-01 00:00:00.000000000 +0000
+++ OpenFOAM-7-new/wmake/rules/linuxARM64Gcc/c++Debug   2020-07-29 02:42:21.470000000 +0000
@@ -0,0 +1,2 @@
+c++DBUG    = -ggdb3 -DFULLDEBUG
+c++OPT      = -O0 -fdefault-inline
diff -uNr OpenFOAM-7/wmake/rules/linuxARM64Gcc/c++Opt OpenFOAM-7-new/wmake/rules/linuxARM64Gcc/c++Opt
--- OpenFOAM-7/wmake/rules/linuxARM64Gcc/c++Opt 1970-01-01 00:00:00.000000000 +0000
+++ OpenFOAM-7-new/wmake/rules/linuxARM64Gcc/c++Opt     2020-07-29 02:42:21.470000000 +0000
@@ -0,0 +1,5 @@
+c++DBUG     =
+#c++OPT      = -O3 -floop-optimize -falign-loops -falign-labels -falign-functions -falign-jumps -fprefetch-loop-arrays -mcpu=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=hard
+c++OPT      = -O3 -floop-optimize -falign-loops -falign-labels -falign-functions -falign-jumps -fprefetch-loop-arrays
+
+ROUNDING_MATH = -frounding-math
diff -uNr OpenFOAM-7/wmake/rules/linuxARM64Gcc/c++Prof OpenFOAM-7-new/wmake/rules/linuxARM64Gcc/c++Prof
--- OpenFOAM-7/wmake/rules/linuxARM64Gcc/c++Prof        1970-01-01 00:00:00.000000000 +0000
+++ OpenFOAM-7-new/wmake/rules/linuxARM64Gcc/c++Prof    2020-07-29 02:42:21.470000000 +0000
@@ -0,0 +1,2 @@
+c++DBUG    = -pg
+c++OPT     = -O2
diff -uNr OpenFOAM-7/wmake/rules/linuxARM64Gcc/cDebug OpenFOAM-7-new/wmake/rules/linuxARM64Gcc/cDebug
--- OpenFOAM-7/wmake/rules/linuxARM64Gcc/cDebug 1970-01-01 00:00:00.000000000 +0000
+++ OpenFOAM-7-new/wmake/rules/linuxARM64Gcc/cDebug     2020-07-29 02:42:21.460000000 +0000
@@ -0,0 +1,2 @@
+cDBUG       = -ggdb -DFULLDEBUG
+cOPT        = -O1 -fdefault-inline -finline-functions
diff -uNr OpenFOAM-7/wmake/rules/linuxARM64Gcc/cOpt OpenFOAM-7-new/wmake/rules/linuxARM64Gcc/cOpt
--- OpenFOAM-7/wmake/rules/linuxARM64Gcc/cOpt   1970-01-01 00:00:00.000000000 +0000
+++ OpenFOAM-7-new/wmake/rules/linuxARM64Gcc/cOpt       2020-07-29 02:42:21.470000000 +0000
@@ -0,0 +1,3 @@
+cDBUG       =
+#cOPT        = -O3 -floop-optimize -falign-loops -falign-labels -falign-functions -falign-jumps -fprefetch-loop-arrays -mcpu=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=hard
+cOPT        = -O3 -floop-optimize -falign-loops -falign-labels -falign-functions -falign-jumps -fprefetch-loop-arrays
diff -uNr OpenFOAM-7/wmake/rules/linuxARM64Gcc/cProf OpenFOAM-7-new/wmake/rules/linuxARM64Gcc/cProf
--- OpenFOAM-7/wmake/rules/linuxARM64Gcc/cProf  1970-01-01 00:00:00.000000000 +0000
+++ OpenFOAM-7-new/wmake/rules/linuxARM64Gcc/cProf      2020-07-29 02:42:21.470000000 +0000
@@ -0,0 +1,2 @@
+cDBUG       = -pg
+cOPT        = -O2
diff -uNr OpenFOAM-7/wmake/rules/linuxARM64Gcc/general OpenFOAM-7-new/wmake/rules/linuxARM64Gcc/general
--- OpenFOAM-7/wmake/rules/linuxARM64Gcc/general        1970-01-01 00:00:00.000000000 +0000
+++ OpenFOAM-7-new/wmake/rules/linuxARM64Gcc/general    2020-07-29 02:42:21.460000000 +0000
@@ -0,0 +1,9 @@
+CPP        = cpp -traditional-cpp $(GFLAGS)
+LD         = ld
+
+PROJECT_LIBS = -l$(WM_PROJECT) -ldl
+
+include $(GENERAL_RULES)/standard
+
+include $(DEFAULT_RULES)/c
+include $(DEFAULT_RULES)/c++
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant