Skip to content

Commit 5ab28bb

Browse files
committedMar 14, 2025··
feat: add AMD flang support
1 parent 713a7e2 commit 5ab28bb

28 files changed

+138
-121
lines changed
 

‎src/main/python/fobis/Builder.py

+10-10
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
Builder.py, module definition of Builder class.
33
This is a class designed for controlling the building phase.
44
"""
5-
from __future__ import absolute_import
6-
from __future__ import division
7-
from __future__ import print_function
8-
from __future__ import unicode_literals
5+
# from __future__ import absolute_import
6+
# from __future__ import division
7+
# from __future__ import print_function
8+
# from __future__ import unicode_literals
99
# Copyright (C) 2015 Stefano Zaghi
1010
#
1111
# This file is part of FoBiS.py.
@@ -22,12 +22,12 @@
2222
#
2323
# You should have received a copy of the GNU General Public License
2424
# along with FoBiS.py. If not, see <http://www.gnu.org/licenses/>.
25-
from future import standard_library
26-
standard_library.install_aliases()
27-
from builtins import str
28-
from builtins import range
29-
from builtins import *
30-
from builtins import object
25+
# from future import standard_library
26+
# standard_library.install_aliases()
27+
# from builtins import str
28+
# from builtins import range
29+
# from builtins import *
30+
# from builtins import object
3131
try:
3232
from multiprocessing import Pool
3333
__parallel__ = True

‎src/main/python/fobis/Cleaner.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
Cleaner.py, module definition of Cleaner class.
33
This is a class designed for controlling the cleaning phase.
44
"""
5-
from __future__ import absolute_import
6-
from __future__ import division
7-
from __future__ import print_function
8-
from __future__ import unicode_literals
5+
# from __future__ import absolute_import
6+
# from __future__ import division
7+
# from __future__ import print_function
8+
# from __future__ import unicode_literals
99
# Copyright (C) 2015 Stefano Zaghi
1010
#
1111
# This file is part of FoBiS.py.
@@ -22,10 +22,10 @@
2222
#
2323
# You should have received a copy of the GNU General Public License
2424
# along with FoBiS.py. If not, see <http://www.gnu.org/licenses/>.
25-
from future import standard_library
26-
standard_library.install_aliases()
27-
from builtins import *
28-
from builtins import object
25+
# from future import standard_library
26+
# standard_library.install_aliases()
27+
# from builtins import *
28+
# from builtins import object
2929
import os
3030
from .utils import print_fake
3131

‎src/main/python/fobis/Colors.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,16 @@
1818
#
1919
# You should have received a copy of the GNU General Public License
2020
# along with FoBiS.py. If not, see <http://www.gnu.org/licenses/>.
21-
from __future__ import print_function
22-
from __future__ import absolute_import
23-
from __future__ import division
24-
from __future__ import unicode_literals
21+
# from __future__ import print_function
22+
# from __future__ import absolute_import
23+
# from __future__ import division
24+
# from __future__ import unicode_literals
2525

2626

27-
from future import standard_library
28-
standard_library.install_aliases()
29-
from builtins import *
30-
from builtins import object
27+
# from future import standard_library
28+
# standard_library.install_aliases()
29+
# from builtins import *
30+
# from builtins import object
3131
class Colors(object):
3232
"""
3333
Colors is an object that handles colors of shell prints, its attributes and methods.

‎src/main/python/fobis/Compiler.py

+27-10
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99
Compiler.py, module definition of Compiler class.
1010
This is a class designed for handling compilers default support.
1111
"""
12-
from __future__ import absolute_import
13-
from __future__ import division
14-
from __future__ import print_function
15-
from __future__ import unicode_literals
12+
# from __future__ import absolute_import
13+
# from __future__ import division
14+
# from __future__ import print_function
15+
# from __future__ import unicode_literals
1616
# Copyright (C) 2015 Stefano Zaghi
1717
#
1818
# This file is part of FoBiS.py.
@@ -29,11 +29,11 @@
2929
#
3030
# You should have received a copy of the GNU General Public License
3131
# along with FoBiS.py. If not, see <http://www.gnu.org/licenses/>.
32-
from future import standard_library
33-
standard_library.install_aliases()
34-
from builtins import str
35-
from builtins import *
36-
from builtins import object
32+
# from future import standard_library
33+
# standard_library.install_aliases()
34+
# from builtins import str
35+
# from builtins import *
36+
# from builtins import object
3737
import re
3838
from .utils import print_fake
3939
__regex_opts__ = re.compile(r"-O[0-9,s]")
@@ -49,7 +49,7 @@ class Compiler(object):
4949
list of supported compilers
5050
"""
5151

52-
supported = ['gnu', 'intel', 'intel_nextgen', 'g95', 'opencoarrays-gnu', 'pgi', 'ibm', 'nag', 'nvfortran', 'custom']
52+
supported = ['gnu', 'intel', 'intel_nextgen', 'g95', 'opencoarrays-gnu', 'pgi', 'ibm', 'nag', 'nvfortran', 'amd', 'custom']
5353

5454
def __init__(self, cliargs, print_w=None):
5555
"""
@@ -119,6 +119,8 @@ def __init__(self, cliargs, print_w=None):
119119
self._nag()
120120
elif self.compiler.lower() == 'nvfortran':
121121
self._nvfortran()
122+
elif self.compiler.lower() == 'amd':
123+
self._amd()
122124
elif self.compiler.lower() == 'custom':
123125
self._custom()
124126
else:
@@ -284,6 +286,21 @@ def _nvfortran(self):
284286
self._profile = ['-pg', '-pg']
285287
return
286288

289+
def _amd(self):
290+
"""Set compiler defaults to the AMD Flang compiler options."""
291+
self.compiler = 'amd'
292+
self.fcs = 'amdflang'
293+
self.cflags = '-c'
294+
self.lflags = ''
295+
self.preproc = ''
296+
self.modsw = '-module-dir '
297+
self._mpi = 'mpif90'
298+
self._openmp = ['-fopenmp', '-fopenmp']
299+
self._coarray = ['', '']
300+
self._coverage = ['', '']
301+
self._profile = ['-pg', '-pg']
302+
return
303+
287304
def _custom(self):
288305
"""Set compiler defaults to be empty."""
289306
self.compiler = ''

‎src/main/python/fobis/Dependency.py

+9-9
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
44
This is a class designed for handling file dependency.
55
"""
6-
from __future__ import absolute_import
7-
from __future__ import division
8-
from __future__ import print_function
9-
from __future__ import unicode_literals
6+
# from __future__ import absolute_import
7+
# from __future__ import division
8+
# from __future__ import print_function
9+
# from __future__ import unicode_literals
1010
# Copyright (C) 2015 Stefano Zaghi
1111
#
1212
# This file is part of FoBiS.py.
@@ -23,11 +23,11 @@
2323
#
2424
# You should have received a copy of the GNU General Public License
2525
# along with FoBiS.py. If not, see <http://www.gnu.org/licenses/>.
26-
from future import standard_library
27-
standard_library.install_aliases()
28-
from builtins import str
29-
from builtins import *
30-
from builtins import object
26+
# from future import standard_library
27+
# standard_library.install_aliases()
28+
# from builtins import str
29+
# from builtins import *
30+
# from builtins import object
3131
import os
3232

3333

‎src/main/python/fobis/Doctest.py

+9-9
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@
2020
#
2121
# You should have received a copy of the GNU General Public License
2222
# along with FoBiS.py. If not, see <http://www.gnu.org/licenses/>.
23-
from __future__ import print_function
24-
from __future__ import absolute_import
25-
from __future__ import division
26-
from __future__ import unicode_literals
27-
from future import standard_library
28-
standard_library.install_aliases()
29-
from builtins import str
30-
from builtins import *
31-
from builtins import object
23+
# from __future__ import print_function
24+
# from __future__ import absolute_import
25+
# from __future__ import division
26+
# from __future__ import unicode_literals
27+
# from future import standard_library
28+
# standard_library.install_aliases()
29+
# from builtins import str
30+
# from builtins import *
31+
# from builtins import object
3232
import os
3333
import re
3434
__remodule__ = re.compile(r"^(\s*)" + # eventual initial white spaces

‎src/main/python/fobis/FoBiSConfig.py

+9-9
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
"""
44
FoBiSConfig.py, module definition of FoBiS.py configuration.
55
"""
6-
from __future__ import absolute_import
7-
from __future__ import division
8-
from __future__ import print_function
9-
from __future__ import unicode_literals
6+
# from __future__ import absolute_import
7+
# from __future__ import division
8+
# from __future__ import print_function
9+
# from __future__ import unicode_literals
1010
# Copyright (C) 2020 Stefano Zaghi
1111
#
1212
# This file is part of FoBiS.py.
@@ -23,11 +23,11 @@
2323
#
2424
# You should have received a copy of the GNU General Public License
2525
# along with FoBiS.py. If not, see <http://www.gnu.org/licenses/>.
26-
from future import standard_library
27-
standard_library.install_aliases()
28-
from builtins import str
29-
from builtins import *
30-
from builtins import object
26+
# from future import standard_library
27+
# standard_library.install_aliases()
28+
# from builtins import str
29+
# from builtins import *
30+
# from builtins import object
3131
import hashlib
3232
import os
3333
import re

‎src/main/python/fobis/Fobos.py

+9-9
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@
2525
#
2626
# You should have received a copy of the GNU General Public License
2727
# along with FoBiS.py. If not, see <http://www.gnu.org/licenses/>.
28-
from __future__ import print_function
29-
from __future__ import absolute_import
30-
from __future__ import division
31-
from __future__ import unicode_literals
32-
from future import standard_library
33-
standard_library.install_aliases()
34-
from builtins import str
35-
from builtins import *
36-
from builtins import object
28+
# from __future__ import print_function
29+
# from __future__ import absolute_import
30+
# from __future__ import division
31+
# from __future__ import unicode_literals
32+
# from future import standard_library
33+
# standard_library.install_aliases()
34+
# from builtins import str
35+
# from builtins import *
36+
# from builtins import object
3737
try:
3838
import configparser as configparser
3939
except ImportError:

‎src/main/python/fobis/Gcov.py

+10-10
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
44
This is a class designed for analyzing gcov files.
55
"""
6-
from __future__ import division
7-
from __future__ import absolute_import
8-
from __future__ import print_function
9-
from __future__ import unicode_literals
6+
# from __future__ import division
7+
# from __future__ import absolute_import
8+
# from __future__ import print_function
9+
# from __future__ import unicode_literals
1010
# Copyright (C) 2015 Stefano Zaghi
1111
#
1212
# This file is part of FoBiS.py.
@@ -23,12 +23,12 @@
2323
#
2424
# You should have received a copy of the GNU General Public License
2525
# along with FoBiS.py. If not, see <http://www.gnu.org/licenses/>.
26-
from future import standard_library
27-
standard_library.install_aliases()
28-
from builtins import str
29-
from builtins import *
30-
from builtins import object
31-
from past.utils import old_div
26+
# from future import standard_library
27+
# standard_library.install_aliases()
28+
# from builtins import str
29+
# from builtins import *
30+
# from builtins import object
31+
# from past.utils import old_div
3232
try:
3333
from pygooglechart import PieChart2D
3434
__graph__ = True

‎src/main/python/fobis/ParsedFile.py

+9-9
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
ParsedFile.py, module definition of Dependency class.
33
This is a class designed for handling a single parsed file.
44
"""
5-
from __future__ import absolute_import
6-
from __future__ import division
7-
from __future__ import print_function
8-
from __future__ import unicode_literals
5+
# from __future__ import absolute_import
6+
# from __future__ import division
7+
# from __future__ import print_function
8+
# from __future__ import unicode_literals
99
# Copyright (C) 2015 Stefano Zaghi
1010
#
1111
# This file is part of FoBiS.py.
@@ -23,11 +23,11 @@
2323
# You should have received a copy of the GNU General Public License
2424
# along with FoBiS.py. If not, see <http://www.gnu.org/licenses/>.
2525

26-
from future import standard_library
27-
standard_library.install_aliases()
28-
from builtins import str
29-
from builtins import *
30-
from builtins import object
26+
# from future import standard_library
27+
# standard_library.install_aliases()
28+
# from builtins import str
29+
# from builtins import *
30+
# from builtins import object
3131
import sys
3232

3333
try:

‎src/main/python/fobis/__init__.py

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
"""FoBiS.py main package"""
2-
from __future__ import absolute_import
3-
from __future__ import division
4-
from __future__ import print_function
5-
from __future__ import unicode_literals
2+
# from __future__ import absolute_import
3+
# from __future__ import division
4+
# from __future__ import print_function
5+
# from __future__ import unicode_literals
66
# Copyright (C) 2015 Stefano Zaghi
77
#
88
# This file is part of FoBiS.py.
@@ -20,6 +20,6 @@
2020
# You should have received a copy of the GNU General Public License
2121
# along with FoBiS.py. If not, see <http://www.gnu.org/licenses/>.
2222

23-
from future import standard_library
24-
standard_library.install_aliases()
25-
from builtins import *
23+
# from future import standard_library
24+
# standard_library.install_aliases()
25+
# from builtins import *
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

‎src/main/python/fobis/cli_parser.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
"""
22
CliParser.py, module definition of FoBiS.py CLI Parser object, an istance of argparse.ArgumentParser.
33
"""
4-
from __future__ import absolute_import
5-
from __future__ import division
6-
from __future__ import print_function
7-
from __future__ import unicode_literals
4+
# from __future__ import absolute_import
5+
# from __future__ import division
6+
# from __future__ import print_function
7+
# from __future__ import unicode_literals
88
# Copyright (C) 2015 Stefano Zaghi
99
#
1010
# This file is part of FoBiS.py.
@@ -21,10 +21,10 @@
2121
#
2222
# You should have received a copy of the GNU General Public License
2323
# along with FoBiS.py. If not, see <http://www.gnu.org/licenses/>.
24-
from future import standard_library
25-
standard_library.install_aliases()
26-
from builtins import str
27-
from builtins import *
24+
# from future import standard_library
25+
# standard_library.install_aliases()
26+
# from builtins import str
27+
# from builtins import *
2828
import argparse
2929

3030
__extensions_inc__ = [".inc", ".INC", ".h", ".H"]

‎src/main/python/fobis/fobis.py

+7-7
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@
1919
# You should have received a copy of the GNU General Public License
2020
# along with FoBiS.py. If not, see <http://www.gnu.org/licenses/>.
2121
# modules loading
22-
from __future__ import print_function
23-
from __future__ import absolute_import
24-
from __future__ import division
25-
from __future__ import unicode_literals
26-
from future import standard_library
27-
standard_library.install_aliases()
28-
from builtins import *
22+
# from __future__ import print_function
23+
# from __future__ import absolute_import
24+
# from __future__ import division
25+
# from __future__ import unicode_literals
26+
# from future import standard_library
27+
# standard_library.install_aliases()
28+
# from builtins import *
2929
try:
3030
import configparser as configparser
3131
except ImportError:

‎src/main/python/fobis/utils.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@
1717
#
1818
# You should have received a copy of the GNU General Public License
1919
# along with FoBiS.py. If not, see <http://www.gnu.org/licenses/>.
20-
from __future__ import print_function
21-
from __future__ import absolute_import
22-
from __future__ import division
23-
from __future__ import unicode_literals
24-
from future import standard_library
25-
standard_library.install_aliases()
26-
from builtins import str
27-
from builtins import *
20+
# from __future__ import print_function
21+
# from __future__ import absolute_import
22+
# from __future__ import division
23+
# from __future__ import unicode_literals
24+
# from future import standard_library
25+
# standard_library.install_aliases()
26+
# from builtins import str
27+
# from builtins import *
2828
import os
2929
import subprocess
3030
import sys

0 commit comments

Comments
 (0)
Please sign in to comment.