diff options
Diffstat (limited to 'volk')
-rwxr-xr-x | volk/bootstrap | 6 | ||||
-rw-r--r-- | volk/gen/volk_register.py | 14 | ||||
-rw-r--r-- | volk/lib/CMakeLists.txt | 15 |
3 files changed, 23 insertions, 12 deletions
diff --git a/volk/bootstrap b/volk/bootstrap index a7fb78ac5..838f03aa2 100755 --- a/volk/bootstrap +++ b/volk/bootstrap @@ -20,7 +20,11 @@ # Boston, MA 02110-1301, USA. rm -fr config.cache autom4te*.cache -python -B gen/volk_register.py +#alternative to -B that wont break on python 2.5 +PYTHONDONTWRITEBYTECODE=1 +export PYTHONDONTWRITEBYTECODE +python gen/volk_register.py + mv gen/lib/Makefile.am lib/ aclocal -I config -I gen/config diff --git a/volk/gen/volk_register.py b/volk/gen/volk_register.py index f5854bbce..cd874e470 100644 --- a/volk/gen/volk_register.py +++ b/volk/gen/volk_register.py @@ -3,6 +3,7 @@ import sys import os import re +import glob import string from xml.dom import minidom from volk_regexp import * @@ -48,18 +49,13 @@ outfile_environment_h = open(os.path.join(gendir, "lib/volk_environment_init.h") outfile_makefile_am = open(os.path.join(gendir, "lib/Makefile.am"), "w") outfile_machines_h = open(os.path.join(gendir, "lib/volk_machines.h"), "w") outfile_machines_c = open(os.path.join(gendir, "lib/volk_machines.c"), "w") -infile = open(os.path.join(srcdir, "include/volk/Makefile.am"), "r") - - -mfile = infile.readlines(); +hdr_files = glob.glob(os.path.join(srcdir, "include/volk/*.h")) datatypes = []; functions = []; - - -for line in mfile: - subline = re.search(".*_(a|u)\.h.*", line); +for line in hdr_files: + subline = re.search(".*_(a|u)\.h.*", os.path.basename(line)) if subline: subsubline = re.search("(?<=volk_).*", subline.group(0)); if subsubline: @@ -71,7 +67,7 @@ for line in mfile: datatypes = set(datatypes); -for line in mfile: +for line in hdr_files: for dt in datatypes: if dt in line: subline = re.search("(volk_" + dt +"_.*(a|u).*\.h)", line); diff --git a/volk/lib/CMakeLists.txt b/volk/lib/CMakeLists.txt index c8b9449a6..645a0dc17 100644 --- a/volk/lib/CMakeLists.txt +++ b/volk/lib/CMakeLists.txt @@ -168,10 +168,20 @@ FILE(GLOB xml_files ${CMAKE_SOURCE_DIR}/gen/*.xml) FILE(GLOB py_files ${CMAKE_SOURCE_DIR}/gen/*.py) FILE(GLOB h_files ${CMAKE_SOURCE_DIR}/include/volk/*.h) +#make sure we can use -B with python (introduced in 2.6) +EXECUTE_PROCESS( + COMMAND ${PYTHON_EXECUTABLE} -B -c "" + OUTPUT_QUIET ERROR_QUIET + RESULT_VARIABLE PYTHON_HAS_DASH_B_RESULT +) +IF(PYTHON_HAS_DASH_B_RESULT EQUAL 0) + SET(PYTHON_DASH_B "-B") +ENDIF() + ADD_CUSTOM_COMMAND( OUTPUT ${volk_gen_sources} DEPENDS ${xml_files} ${py_files} ${h_files} - COMMAND ${PYTHON_EXECUTABLE} -B + COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} ${CMAKE_SOURCE_DIR}/gen/volk_register.py ${CMAKE_BINARY_DIR} ) @@ -215,7 +225,8 @@ ENDIF() ######################################################################## # Setup the volk sources list and library ######################################################################## -IF(NOT WIN32) +IF(CMAKE_COMPILER_IS_GNUCXX AND NOT WIN32) + #http://gcc.gnu.org/wiki/Visibility ADD_DEFINITIONS(-fvisibility=hidden) ENDIF() |