|
From: <kin...@us...> - 2025-08-14 22:27:20
|
Revision: 7269
http://sourceforge.net/p/teem/code/7269
Author: kindlmann
Date: 2025-08-14 22:27:17 +0000 (Thu, 14 Aug 2025)
Log Message:
-----------
work in progress (python/cffi stuff is broken): removing everything about TEEM_BUILD_EXPERIMENTAL_LIBS and TEEM_BUILD_EXPERIMENTAL_APPS. This started with r3717 on 2007-12-17 i.e. almost 20 years ago out of concern with "libraries that are in more active/unstable development". There are no such libraries anymore. And, with the increase reliance on python wrapping, the fact that the API of Teem can change depending on this experimental-or-not thing has gotten to be too much of a time sink. Time to cut it out.
Modified Paths:
--------------
teem/trunk/CMakeLists.txt
teem/trunk/README.txt
teem/trunk/TestBuild.cmake
teem/trunk/Testing/meet/buildinfo.c
teem/trunk/python/cffi/biffdata/meet.csv
teem/trunk/python/cffi/build_teem.py
teem/trunk/python/cffi/exult.py
teem/trunk/python/ctypes/gen-teem.py
teem/trunk/src/GNUmakefile
teem/trunk/src/make/darwin.mk
teem/trunk/src/meet/enumall.c
teem/trunk/src/meet/meet.h
Modified: teem/trunk/CMakeLists.txt
===================================================================
--- teem/trunk/CMakeLists.txt 2025-08-14 22:04:55 UTC (rev 7268)
+++ teem/trunk/CMakeLists.txt 2025-08-14 22:27:17 UTC (rev 7269)
@@ -22,15 +22,9 @@
#
# This is the root Teem CMakeLists file
-# adapt to the available version of cmake
-cmake_minimum_required(VERSION 3.13...3.15)
+# assume a recent-ish version of CMake
+cmake_minimum_required(VERSION 3.20)
-if(${CMAKE_VERSION} VERSION_LESS 3.15)
- cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
-else()
- cmake_policy(VERSION 3.15)
-endif()
-
#-----------------------------------------------------------------------------
# Teem version number. Must reflect the values in teem/src/air/air.h
# means the version number is 1.12.0
@@ -71,7 +65,8 @@
# existence of some headers (limits.h, unistd.h, pthread.h, sys/types.h, sys/prctl.h),
# and then (why?!?) X11, gethostbyname, connect, remove, shmat, IceConnectionNumber?
# GLK wonders if this can't be pruned down to what is actually needed (certainly not X11)
-include (CMakeBackwardCompatibilityC)
+## HEY for Teem v2 can this be removed??
+#include (CMakeBackwardCompatibilityC)
#-----------------------------------------------------------------------------
# set all output directories to be teem-build/bin unless defined
@@ -283,32 +278,11 @@
add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
endif()
-set(BUILD_EXPERIMENTAL_LIBS OFF CACHE BOOL "Build Teem's experimental libraries")
-set(BUILD_EXPERIMENTAL_APPS OFF CACHE BOOL "Build Teem's non-essential command-line tools")
-
-# If its a Dashboard build; turn ON both BUILD_EXPERIMENTAL_APPS and BUILD_EXPERIMENTAL_LIBS
-if(NOT "$ENV{DASHBOARD_TEST_FROM_CTEST}" STREQUAL "")
- # it is a dashboard build
- set(BUILD_EXPERIMENTAL_APPS ON)
- set(BUILD_EXPERIMENTAL_LIBS ON)
-endif()
-
# set the Teem library as a list (TEEM_LIB_LIST)
-set(Teem_LIBRARIES "air" "hest" "biff" "nrrd" "ell" "moss" "unrrdu" "gage" "dye" "limn" "echo" "hoover" "seek" "ten" "pull" "mite" "meet")
-if(BUILD_EXPERIMENTAL_LIBS)
- # This list of the "experimental" libraries must be kept in sync with:
- # * definition of Teem_HEADER_FILES (below)
- # * teem/src/meet/meet.h
- # * teem/src/meet/enumsall.c
- # re-setting list so libraries appear in expected order
- list(APPEND Teem_LIBRARIES "alan" "tijk" "bane" "elf" "coil" "push")
- add_definitions(-DTEEM_BUILD_EXPERIMENTAL_LIBS)
-endif()
+set(Teem_LIBRARIES
+ "air" "hest" "biff" "nrrd" "ell" "moss" "unrrdu" "alan" "tijk" "gage" "dye"
+ "bane" "limn" "echo" "hoover" "seek" "ten" "elf" "pull" "coil" "push" "mite" "meet")
-if(BUILD_EXPERIMENTAL_APPS)
- add_definitions(-DTEEM_BUILD_EXPERIMENTAL_APPS)
-endif()
-
# set the Teem headers as a list
set(Teem_HEADER_FILES
"air/air.h"
@@ -318,27 +292,23 @@
"ell/ell.h" "ell/ellMacros.h"
"moss/moss.h"
"unrrdu/unrrdu.h"
+ "alan/alan.h"
+ "tijk/tijk.h"
"gage/gage.h"
"dye/dye.h"
+ "bane/bane.h"
"limn/limn.h"
"echo/echo.h"
"hoover/hoover.h"
"seek/seek.h"
"ten/ten.h" "ten/tenMacros.h"
+ "elf/elf.h"
"pull/pull.h"
+ "coil/coil.h"
+ "push/push.h"
"mite/mite.h"
"meet/meet.h")
-if(BUILD_EXPERIMENTAL_LIBS)
- list(APPEND Teem_HEADER_FILES
- "alan/alan.h"
- "tijk/tijk.h"
- "bane/bane.h"
- "elf/elf.h"
- "coil/coil.h"
- "push/push.h")
-endif()
-
set(Teem_INSTALLED_HEADER_FILES)
foreach(header_file IN LISTS Teem_HEADER_FILES)
# When debugging, uncomment this line
Modified: teem/trunk/README.txt
===================================================================
--- teem/trunk/README.txt 2025-08-14 22:04:55 UTC (rev 7268)
+++ teem/trunk/README.txt 2025-08-14 22:27:17 UTC (rev 7269)
@@ -38,7 +38,6 @@
mkdir teem-build
cd teem-build
cmake \
- -D BUILD_EXPERIMENTAL_APPS=OFF -D BUILD_EXPERIMENTAL_LIBS=OFF \
-D BUILD_SHARED_LIBS=OFF -D BUILD_TESTING=OFF \
-D CMAKE_BUILD_TYPE=Release \
-D Teem_BZIP2=OFF -D Teem_FFTW3=OFF -D Teem_LEVMAR=OFF -D Teem_PTHREAD=OFF \
Modified: teem/trunk/TestBuild.cmake
===================================================================
--- teem/trunk/TestBuild.cmake 2025-08-14 22:04:55 UTC (rev 7268)
+++ teem/trunk/TestBuild.cmake 2025-08-14 22:27:17 UTC (rev 7269)
@@ -1,6 +1,6 @@
#
# Teem: Tools to process and visualize scientific data and images
-# Copyright (C) 2009--2019 University of Chicago
+# Copyright (C) 2009--2025 University of Chicago
# Copyright (C) 2008, 2007, 2006, 2005 Gordon Kindlmann
# Copyright (C) 2004, 2003, 2002, 2001, 2000, 1999, 1998 University of Utah
#
@@ -44,8 +44,6 @@
set (CTEST_CMAKE_COMMAND "cmake")
set(CTEST_INITIAL_CACHE "
- BUILD_EXPERIMENTAL_LIBS:BOOL=OFF
- BUILD_EXPERIMENTAL_APPS:BOOL=OFF
BUILD_HEX:BOOL=OFF
BUILD_SHARED_LIBS:BOOL=OFF
BUILD_TESTING:BOOL=ON
Modified: teem/trunk/Testing/meet/buildinfo.c
===================================================================
--- teem/trunk/Testing/meet/buildinfo.c 2025-08-14 22:04:55 UTC (rev 7268)
+++ teem/trunk/Testing/meet/buildinfo.c 2025-08-14 22:27:17 UTC (rev 7269)
@@ -30,20 +30,7 @@
int
main(int argc, const char **argv) {
unsigned int ii;
-#if defined(TEEM_BUILD_EXPERIMENTAL_LIBS)
- char explibs[] = "*ON!*";
-#else
- char explibs[] = "_off_";
-#endif
- /* apparently TEEM_BUILD_EXPERIMENTAL_APPS is not disclosed to
- the compilation of this file? */
-#if defined(TEEM_BUILD_EXPERIMENTAL_APPS)
- char expapps[] = "*ON!*";
-#else
- char expapps[] = "_off_";
-#endif
-
char stmp1[AIR_STRLEN_SMALL + 1], stmp2[AIR_STRLEN_SMALL + 1];
AIR_UNUSED(argc);
AIR_UNUSED(argv);
@@ -57,7 +44,6 @@
airSprintSize_t(stmp1, sizeof(size_t)),
airSprintSize_t(stmp2, sizeof(void *)));
- printf("experimental libs %s; apps %s\n", explibs, expapps);
printf("libs = ");
ii = 0;
do {
Modified: teem/trunk/python/cffi/biffdata/meet.csv
===================================================================
--- teem/trunk/python/cffi/biffdata/meet.csv 2025-08-14 22:04:55 UTC (rev 7268)
+++ teem/trunk/python/cffi/biffdata/meet.csv 2025-08-14 22:27:17 UTC (rev 7269)
@@ -1,5 +1,5 @@
func_name,return_type,error_val(s),mubi,biff_key,filename:linenumber
-meetAirEnumAllCheck,int,1,0,meet,meet/enumall.c:226
+meetAirEnumAllCheck,int,1,0,meet,meet/enumall.c:216
meetNrrdKernelAllCheck,int,1,0,meet,meet/meetNrrd.c:236
meetPullVolCopy,meetPullVol *,NULL,0,meet,meet/meetPull.c:44
meetPullVolParse,int,1,0,meet,meet/meetPull.c:100
Modified: teem/trunk/python/cffi/build_teem.py
===================================================================
--- teem/trunk/python/cffi/build_teem.py 2025-08-14 22:04:55 UTC (rev 7268)
+++ teem/trunk/python/cffi/build_teem.py 2025-08-14 22:27:17 UTC (rev 7269)
@@ -1,7 +1,7 @@
#!/usr/bin/env python
#
# Teem: Tools to process and visualize scientific data and images
-# Copyright (C) 2009--2023 University of Chicago
+# Copyright (C) 2009--2025 University of Chicago
# Copyright (C) 2008, 2007, 2006, 2005 Gordon Kindlmann
# Copyright (C) 2004, 2003, 2002, 2001, 2000, 1999, 1998 University of Utah
#
@@ -263,10 +263,7 @@
elif hname == 'mite.h':
idx = drop_at('#if 0 /* float == mite_t */', 10, lines)
lines.insert(idx, 'typedef double mite_t;')
- elif hname == 'meet.h':
- # ideally these would be handled as delimiting pairs, but oh well
- drop_at_all('#if defined(TEEM_BUILD_EXPERIMENTAL_LIBS)', 1, lines)
- drop_at_all('#endif', 1, lines)
+ # elif hname == 'meet.h': # (nothing)
# end of per-library-specific stuff
for line in lines:
fout.write(f'{line}\n')
@@ -358,7 +355,7 @@
ARGS = parse_args()
VERB = ARGS.v
if ARGS.gch:
- (_hdr_path, _, _have_libs, _) = exult.check_path_tinst(ARGS.install_path)
+ (_hdr_path, _, _have_libs) = exult.check_path_tinst(ARGS.install_path)
cdef_write('./cdef', _hdr_path, _have_libs)
else:
ffi = exult.Tffi('../..', ARGS.install_path, 'teem', VERB)
Modified: teem/trunk/python/cffi/exult.py
===================================================================
--- teem/trunk/python/cffi/exult.py 2025-08-14 22:04:55 UTC (rev 7268)
+++ teem/trunk/python/cffi/exult.py 2025-08-14 22:27:17 UTC (rev 7269)
@@ -1,6 +1,6 @@
#
# Teem: Tools to process and visualize scientific data and images
-# Copyright (C) 2009--2023 University of Chicago
+# Copyright (C) 2009--2025 University of Chicago
# Copyright (C) 2008, 2007, 2006, 2005 Gordon Kindlmann
# Copyright (C) 2004, 2003, 2002, 2001, 2000, 1999, 1998 University of Utah
#
@@ -51,182 +51,73 @@
del _x, _y
# info about all the Teem libraries (TEEM_LIB_LIST)
-_tlibs = {
- 'air': {'expr': False, 'deps': []}, # (don't need airExistsConf.h)
- 'hest': {'expr': False, 'deps': ['air']},
- 'biff': {'expr': False, 'deps': ['air']},
- 'nrrd': {
- 'expr': False,
- 'deps': ['biff', 'hest', 'air'],
- 'hdrs': ['nrrdEnums.h', 'nrrdDefines.h'],
- },
- 'ell': {
- 'expr': False,
- 'deps': ['nrrd', 'biff', 'air'],
- # ellMacros.h does not add to ell API
- },
- 'moss': {
- 'expr': False,
- 'deps': ['ell', 'nrrd', 'biff', 'hest', 'air'],
- },
- 'unrrdu': {
- 'expr': False,
- 'deps': ['nrrd', 'hest', 'biff', 'air'],
- # moss needed for linking (because of unu ilk) but not for declaring unrrdu API
- },
- 'alan': {
- 'expr': True,
- 'deps': ['ell', 'nrrd', 'biff', 'air'],
- },
- 'tijk': {
- 'expr': True,
- 'deps': ['ell', 'nrrd', 'air'],
- },
- 'gage': {
- 'expr': False,
- 'deps': ['ell', 'nrrd', 'biff', 'air'],
- },
- 'dye': {
- 'expr': False,
- 'deps': ['ell', 'biff', 'air'],
- # may not actually need ell; implementation of dye needs ellMacros.h
- },
- 'bane': {
- 'expr': True,
- 'deps': ['gage', 'unrrdu', 'nrrd', 'biff', 'air'],
- },
- 'limn': {
- 'expr': False,
- 'deps': ['gage', 'ell', 'unrrdu', 'nrrd', 'biff', 'hest', 'air'],
- },
- 'echo': {
- 'expr': False,
- 'deps': ['limn', 'ell', 'nrrd', 'biff', 'air'],
- },
- 'hoover': {
- 'expr': False,
- 'deps': ['limn', 'ell', 'nrrd', 'biff', 'air'],
- },
- 'seek': {
- 'expr': False,
- 'deps': ['gage', 'limn', 'ell', 'nrrd', 'biff', 'hest', 'air'],
- },
- 'ten': {
- 'expr': False,
- 'deps': [
- 'echo',
- 'limn',
- 'gage',
- 'dye',
- 'unrrdu',
- 'ell',
- 'nrrd',
- 'biff',
- 'air',
- ],
- },
- 'elf': {
- 'expr': True,
- 'deps': ['ten', 'tijk', 'limn', 'ell', 'nrrd', 'air'],
- },
- 'pull': {
- 'expr': False,
- 'deps': ['ten', 'limn', 'gage', 'ell', 'nrrd', 'biff', 'hest', 'air'],
- },
- 'coil': {
- 'expr': True,
- 'deps': ['ten', 'ell', 'nrrd', 'biff', 'air'],
- },
- 'push': {
- 'expr': True,
- 'deps': ['ten', 'gage', 'ell', 'nrrd', 'biff', 'air'],
- },
- 'mite': {
- 'expr': False,
- 'deps': [
- 'ten',
- 'hoover',
- 'limn',
- 'gage',
- 'ell',
- 'nrrd',
- 'biff',
- 'air',
- ],
- },
- 'meet': {
- 'expr': False,
- 'deps': [
- 'air',
- 'hest',
- 'biff',
- 'nrrd',
- 'ell',
- 'moss',
- 'unrrdu',
- 'alan',
- 'tijk',
- 'gage',
- 'dye',
- 'bane',
- 'limn',
- 'echo',
- 'hoover',
- 'seek',
- 'ten',
- 'elf',
- 'pull',
- 'coil',
- 'push',
- 'mite',
- ],
- },
+_tlhdrs = {
+ 'nrrd': ['nrrdEnums.h', 'nrrdDefines.h'],
+ # ell: ellMacros.h does not add to ell API
}
+# as of Teem v2 the "experimental" notion is gone, which simplifies
+# how these dependencies are declared
+_tldeps = {
+ 'air': [], # (don't need airExistsConf.h)
+ 'hest': ['air'],
+ 'biff': ['air'],
+ 'nrrd': ['biff', 'hest', 'air'],
+ 'ell': ['nrrd', 'biff', 'air'],
+ 'moss': ['ell', 'nrrd', 'biff', 'hest', 'air'],
+ 'unrrdu': ['nrrd', 'hest', 'biff', 'air'],
+ # moss needed for linking (because of unu ilk) but not for declaring unrrdu API
+ 'alan': ['ell', 'nrrd', 'biff', 'air'],
+ 'tijk': ['ell', 'nrrd', 'air'],
+ 'gage': ['ell', 'nrrd', 'biff', 'air'],
+ 'dye': ['ell', 'biff', 'air'],
+ # may not actually need ell; implementation of dye needs ellMacros.h
+ 'bane': ['gage', 'unrrdu', 'nrrd', 'biff', 'air'],
+ 'limn': ['gage', 'ell', 'unrrdu', 'nrrd', 'biff', 'hest', 'air'],
+ 'echo': ['limn', 'ell', 'nrrd', 'biff', 'air'],
+ 'hoover': ['limn', 'ell', 'nrrd', 'biff', 'air'],
+ 'seek': ['gage', 'limn', 'ell', 'nrrd', 'biff', 'hest', 'air'],
+ 'ten': ['echo', 'limn', 'gage', 'dye', 'unrrdu', 'ell', 'nrrd', 'biff', 'air'],
+ 'elf': ['ten', 'tijk', 'limn', 'ell', 'nrrd', 'air'],
+ 'pull': ['ten', 'limn', 'gage', 'ell', 'nrrd', 'biff', 'hest', 'air'],
+ 'coil': ['ten', 'ell', 'nrrd', 'biff', 'air'],
+ 'push': ['ten', 'gage', 'ell', 'nrrd', 'biff', 'air'],
+ 'mite': ['ten', 'hoover', 'limn', 'gage', 'ell', 'nrrd', 'biff', 'air'],
+ # fmt: off
+ 'meet': [ 'air', 'hest', 'biff', 'nrrd', 'ell', 'moss', 'unrrdu', 'alan', 'tijk',
+ 'gage', 'dye', 'bane', 'limn', 'echo', 'hoover', 'seek', 'ten', 'elf',
+ 'pull', 'coil', 'push', 'mite'],
+ # fmt: on
+}
def tlib_all() -> list[str]:
"""
- Returns list of all Teem libraries in dependency order, regardless of "experimental" status
+ Returns list of all Teem libraries in dependency order
"""
- return list(_tlibs.keys())
+ return list(_tldeps.keys())
-def tlib_experimental(lib: str) -> bool:
+def tlib_depends(lib: str) -> list[str]:
"""
- Answers if a given Teem library is "experimental"
- """
- try:
- info = _tlibs[lib]
- except Exception as exc:
- raise RuntimeError(f'{lib} is not a known Teem library') from exc
- return info['expr']
-
-
-def tlib_depends(lib: str, exper: bool) -> list[str]:
- """
Computes dependency expansion of given Teem library.
- Whether "experimental" libraries are also included depends on exper.
"""
try:
- info = _tlibs[lib]
+ deps = _tldeps[lib]
except Exception as exc:
raise RuntimeError(f'{lib} is not a known Teem library') from exc
# iteratively find all dependencies and dependencies of dependencies, etc
oldd = set() # all previously dependencies known
- newd = set([lib]) | set(info['deps']) # newly discovered dependencies
+ newd = set([lib]) | set(deps) # newly discovered dependencies
while oldd != newd:
# while new dependencies were just discovered
tmpd = set()
for nlb in newd:
- tmpd = tmpd | set([lib]) | set(_tlibs[nlb]['deps'])
+ tmpd = tmpd | set([lib]) | set(_tldeps[nlb])
oldd = newd
newd = tmpd
tla = tlib_all() # linear array of all libs in dependency order
# return dependencies sorted in dependency order
ret = sorted(list(newd), key=tla.index)
- # exclude "experimental" libraries if not exper
- if not exper:
- ret = list(filter(lambda L: not tlib_experimental(L), ret))
return ret
@@ -239,12 +130,12 @@
centralized to this file. For example this handles how the nrrd library needs nrrdDefines.h
and nrrdEnums.h as well as nrrd.h.
"""
- try:
- info = _tlibs[lib]
- except Exception as exc:
- raise RuntimeError(f'{lib} is not a known Teem library') from exc
- ret = info['hdrs'].copy() if 'hdrs' in info else []
- ret += [f'{lib}.h']
+ print(f'HELLO from tlib_headers({lib=})')
+ if not lib in _tldeps:
+ raise RuntimeError(f'{lib} is not a known Teem library')
+ ret = [f'{lib}.h']
+ if lib in _tlhdrs:
+ ret += _tlhdrs[lib].copy()
return ret
@@ -278,39 +169,20 @@
"""
Main purpose is to do sanity check on Teem include path path_thdr and the header files
found there. Having done that work, we can also return information learned along the way:
- (exper, have_libs) where exper indicates if this was run on an "experimental" Teem build,
- and have_libs is the list of libraries for which the .h headers are present
+ we return the list of libraries for which the .h headers are present
"""
itpath = path_thdr + '/teem'
if not os.path.isdir(itpath):
raise Exception(f'Need {itpath} to be directory')
all_libs = tlib_all()
- base_libs = list(filter(lambda L: not tlib_experimental(L), all_libs))
- expr_libs = list(filter(tlib_experimental, all_libs))
- base_hdrs = sum([tlib_headers(L) for L in base_libs], [])
- expr_hdrs = sum([tlib_headers(L) for L in expr_libs], [])
- missing_hdrs = list(filter(lambda F: not os.path.isfile(f'{itpath}/{F}'), base_hdrs))
+ all_hdrs = sum([tlib_headers(L) for L in all_libs], [])
+ missing_hdrs = list(filter(lambda F: not os.path.isfile(f'{itpath}/{F}'), all_hdrs))
if missing_hdrs:
raise Exception(
f'Missing header(s) {" ".join(missing_hdrs)} in {itpath} '
- 'for one or more of the core Teem libs'
+ 'for one or more of the Teem libs'
)
- have_libs = base_libs
- missing_expr_hdrs = list(filter(lambda F: not os.path.isfile(f'{itpath}/{F}'), expr_hdrs))
- if missing_expr_hdrs:
- # missing one or more of the non-core "Experimental" header files
- if len(missing_expr_hdrs) < len(expr_hdrs):
- raise Exception(
- 'Missing some (but not all) non-core header(s) '
- f'{" ".join(missing_expr_hdrs)} in {itpath} for one or more of the '
- 'core Teem libs'
- )
- # else len(missing_expr_hdrs) == len(expr_hdrs)) aka all missing, ok, so
- # not Experimental
- else:
- # it is Experimental; reform the header list in dependency order (above)
- have_libs = all_libs
- return (not missing_expr_hdrs, have_libs)
+ return all_hdrs
def check_path_tinst(path: str):
@@ -331,8 +203,8 @@
f'Need both {path_thdr} and {path_tlib} to be subdirs of teem install dir {path}'
)
check_path_tlib(path_tlib)
- (exper, have_libs) = check_path_thdr(path_thdr)
- return (path_thdr, path_tlib, have_libs, exper)
+ have_libs = check_path_thdr(path_thdr)
+ return (path_thdr, path_tlib, have_libs)
class CdefHdr:
@@ -536,7 +408,6 @@
self.path_thdr,
self.path_tlib,
self.have_tlibs,
- self.exper,
) = check_path_tinst(path_tinst)
self.path_tinst = path_tinst
# initialize other members; these will be updated if self.desc() is called to describe
@@ -556,7 +427,6 @@
self.isteem = True
self.name = 'teem'
self.top_tlib = 'meet'
- # we keep the experimental-ness value now in self.exper
else:
if not top_tlib in self.have_tlibs:
raise Exception(
@@ -565,8 +435,6 @@
self.isteem = None
self.name = None
self.top_tlib = top_tlib
- # we set exper according to whether requested library is "experimental"
- self.exper = tlib_experimental(top_tlib)
# create the instance, but don't do anything with it; that depends on other methods
self.ffi = cffi.FFI()
self.step = 1 # for tracking correct ordering of method calls
@@ -628,7 +496,7 @@
# want free() available for freeing biff messages
self.ffi.cdef('extern void free(void *);')
# read in the relevant Teem cdef/ headers
- for lib in tlib_depends(self.top_tlib, self.exper):
+ for lib in tlib_depends(self.top_tlib):
if self.verb:
print(f'Tffi.cdef: reading {self.path_cdef}/cdef_{lib}.h ...')
with open(f'{self.path_cdef}/cdef_{lib}.h', 'r', encoding='utf-8') as file:
@@ -660,9 +528,7 @@
'library_dirs': self.path_libs,
# when linking extension module library, -l libs to link with
'libraries': self.libs,
- 'extra_compile_args': (
- (['-DTEEM_BUILD_EXPERIMENTAL_LIBS'] if self.exper else []) + self.eca
- ),
+ 'extra_compile_args': self.eca,
# The next arg teaches the extension library about the paths that the dynamic linker
# should look in for other libraries we depend on (the dynamic linker does not know
# or care about $TEEM_INSTALL). We avoid any reliance on environment variables like
@@ -800,7 +666,7 @@
if not self.step in (1, 4):
raise Exception('Expected .wrap() only after creation, .desc(), or .compile()')
biffdatas = [] # a list of rows from .csv files
- for lib in tlib_depends(self.top_tlib, self.exper):
+ for lib in tlib_depends(self.top_tlib):
path_bdata = self.path_biffdata + f'/{lib}.csv'
if not os.path.isfile(path_bdata):
if self.verb:
Modified: teem/trunk/python/ctypes/gen-teem.py
===================================================================
--- teem/trunk/python/ctypes/gen-teem.py 2025-08-14 22:04:55 UTC (rev 7268)
+++ teem/trunk/python/ctypes/gen-teem.py 2025-08-14 22:27:17 UTC (rev 7269)
@@ -238,13 +238,6 @@
libs_destuctable.remove(lib)
break
-# in experimental libs not included, cleanup and fail
-if libs_destuctable: # empty sequence implicity false
- shutil.rmtree(TMP_DIR)
- os.remove(teem_xml)
- #os.remove(pre_teem_py)
- sys.exit("ERROR: experimental libs: %s not turned on - please rebuild teem with BUILD_EXPERIMENTAL_LIBS turned on, then re-run gen-teem.py" % ','.join(libs_destuctable))
-
header = [
"##",
"## teem.py: automatically-generated ctypes python wrappers for Teem",
Modified: teem/trunk/src/GNUmakefile
===================================================================
--- teem/trunk/src/GNUmakefile 2025-08-14 22:04:55 UTC (rev 7268)
+++ teem/trunk/src/GNUmakefile 2025-08-14 22:27:17 UTC (rev 7269)
@@ -195,12 +195,9 @@
## CMake is how most people will compile Teem, but these GNUMakefiles are
## still what GLK uses day-to-day when working with Teem, with their finer
## per-library granularity. Some additions to CFLAGS are adaptions help these
-## GNUMakfiles adapt to the CMake world around them. -DTEEM_NON_CMAKE says
-## that this isn't being build by cmake (so, e.g. don't look for
-## teem/airExistsConf.h), and -DTEEM_BUILD_EXPERIMENTAL_LIBS mimics something
-## that would otherwise come from CMake files only when *all* the libraries
-## are being compiled
-CFLAGS += -DTEEM_NON_CMAKE -DTEEM_BUILD_EXPERIMENTAL_LIBS $(OPT_CFLAG) $(ARCH_CFLAG)
+## GNUMakfiles adapt to the CMake world around them. -DTEEM_NON_CMAKE says:
+## this isn't being build by cmake (so, don't look for teem/airExistsConf.h)
+CFLAGS += -DTEEM_NON_CMAKE $(OPT_CFLAG) $(ARCH_CFLAG)
LDFLAGS += $(ARCH_LDFLAG) $(SHARED_LDFLAG)
## SGI's C pre-processor errors aren't fatal by default
Modified: teem/trunk/src/make/darwin.mk
===================================================================
--- teem/trunk/src/make/darwin.mk 2025-08-14 22:04:55 UTC (rev 7268)
+++ teem/trunk/src/make/darwin.mk 2025-08-14 22:27:17 UTC (rev 7269)
@@ -27,9 +27,8 @@
LD = gcc
-#OPT_CFLAG ?= -O3 -g -DTEEM_BUILD_EXPERIMENTAL_LIBS
## for trying undefined behavior flagging -fsanitize=undefined
-OPT_CFLAG ?= -O0 -g -DTEEM_BUILD_EXPERIMENTAL_LIBS
+OPT_CFLAG ?= -O0 -g
CC = clang
STATIC_CFLAG = -Wl,-prebind
SHARED_CFLAG =
Modified: teem/trunk/src/meet/enumall.c
===================================================================
--- teem/trunk/src/meet/enumall.c 2025-08-14 22:04:55 UTC (rev 7268)
+++ teem/trunk/src/meet/enumall.c 2025-08-14 22:27:17 UTC (rev 7269)
@@ -1,6 +1,6 @@
/*
Teem: Tools to process and visualize scientific data and images
- Copyright (C) 2009--2023 University of Chicago
+ Copyright (C) 2009--2025 University of Chicago
Copyright (C) 2005--2008 Gordon Kindlmann
Copyright (C) 1998--2004 University of Utah
@@ -101,17 +101,13 @@
/* unrrdu: no airEnums */
-#if defined(TEEM_BUILD_EXPERIMENTAL_LIBS)
/* alan */
ADD(alanStop);
-#endif
/* moss: no airEnums */
-#if defined(TEEM_BUILD_EXPERIMENTAL_LIBS)
/* tijk */
ADD(tijk_class);
-#endif
/* gage */
ADD(gageErr);
@@ -125,10 +121,8 @@
/* dye */
ADD(dyeSpace);
-#if defined(TEEM_BUILD_EXPERIMENTAL_LIBS)
/* bane */
ADD(baneGkmsMeasr);
-#endif
/* limn */
ADD(limnSpace);
@@ -163,9 +157,7 @@
ADD(tenTripleType);
ADD(tenDwiGage);
-#if defined(TEEM_BUILD_EXPERIMENTAL_LIBS)
/* elf: no airEnums */
-#endif
/* pull */
ADD(pullInterType);
@@ -179,7 +171,6 @@
ADD(pullCount);
ADD(pullConstraintFail);
-#if defined(TEEM_BUILD_EXPERIMENTAL_LIBS)
/* coil */
ADD(coilMethodType);
ADD(coilKindType);
@@ -186,7 +177,6 @@
/* push */
ADD(pushEnergyType);
-#endif
/* mite */
ADD(miteVal);
@@ -257,28 +247,20 @@
"ell", /* */
"moss", /* */
"unrrdu", /* */
-#if defined(TEEM_BUILD_EXPERIMENTAL_LIBS)
- "alan", /* */
- "tijk", /* */
-#endif
- "gage", /* */
- "dye", /* */
-#if defined(TEEM_BUILD_EXPERIMENTAL_LIBS)
- "bane", /* */
-#endif
+ "alan", /* */
+ "tijk", /* */
+ "gage", /* */
+ "dye", /* */
+ "bane", /* */
"limn", /* */
"echo", /* */
"hoover", /* */
"seek", /* */
"ten", /* */
-#if defined(TEEM_BUILD_EXPERIMENTAL_LIBS)
- "elf", /* */
-#endif
- "pull", /* */
-#if defined(TEEM_BUILD_EXPERIMENTAL_LIBS)
- "coil", /* */
- "push", /* */
-#endif
- "mite", /* */
- "meet", /* */
+ "elf", /* */
+ "pull", /* */
+ "coil", /* */
+ "push", /* */
+ "mite", /* */
+ "meet", /* */
NULL};
Modified: teem/trunk/src/meet/meet.h
===================================================================
--- teem/trunk/src/meet/meet.h 2025-08-14 22:04:55 UTC (rev 7268)
+++ teem/trunk/src/meet/meet.h 2025-08-14 22:27:17 UTC (rev 7269)
@@ -1,6 +1,6 @@
/*
Teem: Tools to process and visualize scientific data and images
- Copyright (C) 2009--2023 University of Chicago
+ Copyright (C) 2009--2025 University of Chicago
Copyright (C) 2005--2008 Gordon Kindlmann
Copyright (C) 1998--2004 University of Utah
@@ -33,30 +33,20 @@
#include <teem/ell.h>
#include <teem/moss.h>
#include <teem/unrrdu.h>
-#if defined(TEEM_BUILD_EXPERIMENTAL_LIBS)
-# include <teem/alan.h>
-#endif
-#if defined(TEEM_BUILD_EXPERIMENTAL_LIBS)
-# include <teem/tijk.h>
-#endif
+#include <teem/alan.h>
+#include <teem/tijk.h>
#include <teem/gage.h>
#include <teem/dye.h>
-#if defined(TEEM_BUILD_EXPERIMENTAL_LIBS)
-# include <teem/bane.h>
-#endif
+#include <teem/bane.h>
#include <teem/limn.h>
#include <teem/echo.h>
#include <teem/hoover.h>
#include <teem/seek.h>
#include <teem/ten.h>
-#if defined(TEEM_BUILD_EXPERIMENTAL_LIBS)
-# include <teem/elf.h>
-#endif
+#include <teem/elf.h>
#include <teem/pull.h>
-#if defined(TEEM_BUILD_EXPERIMENTAL_LIBS)
-# include <teem/coil.h>
-# include <teem/push.h>
-#endif
+#include <teem/coil.h>
+#include <teem/push.h>
#include <teem/mite.h>
#if defined(_WIN32) && !defined(__CYGWIN__) && !defined(TEEM_STATIC)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|