Skip to content

Commit c4d5c56

Browse files
authored
Merge pull request #81 from nsls-ii-mx/main
0.9.8 release, final Makefile release.
2 parents 37ead81 + dc9ebae commit c4d5c56

33 files changed

+82620
-6869
lines changed

CBFlib_NOTICES.html

Lines changed: 1246 additions & 0 deletions
Large diffs are not rendered by default.

CBFlib_NOTICES.md

Lines changed: 1035 additions & 0 deletions
Large diffs are not rendered by default.

CBFlib_NOTICES.txt

Lines changed: 1186 additions & 0 deletions
Large diffs are not rendered by default.

ChangeLog.html

Lines changed: 2342 additions & 0 deletions
Large diffs are not rendered by default.

ChangeLog.md

Lines changed: 2129 additions & 0 deletions
Large diffs are not rendered by default.

Makefile

Lines changed: 73 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
######################################################################
33
# Makefile - command file for make to create CBFlib #
44
# #
5-
# Version 0.9.8 27 May 2024 #
5+
# Version 0.9.8 22 Mar 2025 #
66
# #
77
# Paul Ellis and #
88
# Herbert J. Bernstein ([email protected]) #
@@ -346,11 +346,19 @@ TIFF_INSTALL = $(TIFF)_INSTALL
346346
#
347347

348348
ifneq ($(CBFLIB_DONT_USE_LOCAL_SWIG),yes)
349-
SWIG_PREFIX ?= $(PWD)
350-
SWIG_KIT ?= swig-fortran-swig
349+
SWIG_PREFIX := $(PWD)
350+
SWIG_KIT := swig-4.4.0
351351
else
352-
SWIG_PREFIX=
353-
SWIG_KIT=
352+
SWIG_PREFIX :=
353+
SWIG_KIT :=
354+
endif
355+
356+
ifneq ($(CBFLIB_DONT_USE_LOCAL_SWIG_FORTRAN),yes)
357+
SWIG_FORTRAN_PREFIX := $(F90CBF)
358+
SWIG_FORTRAN_KIT := swig-fortran-swig
359+
else
360+
SWIG_FORTRAN_PREFIX :=
361+
SWIG_FORTRAN_KIT :=
354362
endif
355363

356364

@@ -595,17 +603,23 @@ SHELL = bash
595603
#
596604
# Program to display differences between files
597605
#
598-
DIFF = diff -u -b
606+
DIFF = diff -u -b -a
599607

600608

601609
#
602610
# Program to generate various wrapper for C/C++ code
603611
#
604612

605613
ifneq ($(CBFLIB_DONT_USE_LOCAL_SWIG),yes)
606-
SWIG = $(BIN)/swig
614+
SWIG := $(BIN)/swig
615+
else
616+
SWIG := swig
617+
endif
618+
619+
ifneq ($(CBFLIB_DONT_USE_LOCAL_SWIG_FORTRAN),yes)
620+
SWIG_FORTRAN := $(F90CBF)/bin/swig
607621
else
608-
SWIG = swig
622+
SWIG_FORTRAN :=
609623
endif
610624

611625
#
@@ -621,7 +635,7 @@ JSWIG = $(SWIG) -java
621635
#
622636
# Program to generate wrapper module for f90
623637
#
624-
F90SWIG = $(SWIG) -fortran
638+
F90SWIG = $(SWIG_FORTRAN) -fortran
625639

626640
#
627641
# Java SDK root directory
@@ -785,10 +799,14 @@ LZ4_URL = http://www.github.com/yayahjb/$(LZ4).git
785799
endif
786800
BSHUF_URL = http://www.github.com/yayahjb/$(BSHUF).git
787801
ifneq ($(CBFLIB_DONT_USE_LOCAL_SWIG),yes)
788-
SWIG_URL = https://github.com/yayahjb/swig-fortran-swig.git
802+
SWIG_URL := https://github.com/swig/swig.git
803+
endif
804+
ifneq ($(CBFLIB_DONT_USE_LOCAL_SWIG_FORTRAN),yes)
805+
SWIG_FORTRAN_URL := https://github.com/swig-fortran/swig.git
789806
endif
790807

791808

809+
792810
#
793811
# Include directories
794812
#
@@ -797,10 +815,26 @@ INCLUDES = -I$(INCLUDE) -I$(SRC) $(HDF5include)
797815
#
798816
# runtime library path export commands
799817
#
818+
ifeq ($LD_LIBRARY_PATH)$(DYLD_LIBRARY_PATH)$(LD_RUN_PATH),)
800819
ifeq ($(HDF5_PREFIX),)
801-
RTLPEXPORTS = LD_LIBRARY_PATH=$(PWD)/solib:$(PWD)/lib;export LD_LIBRARY_PATH; DYLD_LIBRARY_PATH=$(PWD)/solib:$(PWD)/lib;export DYLD_LIBRARY_PATH; LD_RUN_PATH=$(PWD)/solib:$(PWD)/lib;export LD_RUN_PATH;
820+
RTLPEXPORTS = LD_LIBRARY_PATH=$(PWD)/solib:$(PWD)/lib;export LD_LIBRARY_PATH;\
821+
DYLD_LIBRARY_PATH=$(PWD)/solib:$(PWD)/lib;export DYLD_LIBRARY_PATH;\
822+
LD_RUN_PATH=$(PWD)/solib:$(PWD)/lib;export LD_RUN_PATH;
802823
else
803-
RTLPEXPORTS = LD_LIBRARY_PATH=$(PWD)/solib:$(PWD)/lib:$(HDF5_PREFIX)/lib;export LD_LIBRARY_PATH; DYLD_LIBRARY_PATH=$(PWD)/solib:$(PWD)/lib:$(HDF5_PREFIX)/lib;export DYLD_LIBRARY_PATH; LD_RUN_PATH=$(PWD)/solib:$(PWD)/lib:$(HDF5_PREFIX)/lib;export LD_RUN_PATH;
824+
RTLPEXPORTS = LD_LIBRARY_PATH=$(PWD)/solib:$(PWD)/lib:$(HDF5_PREFIX)/lib;export LD_LIBRARY_PATH;\
825+
DYLD_LIBRARY_PATH=$(PWD)/solib:$(PWD)/lib:$(HDF5_PREFIX)/lib;export DYLD_LIBRARY_PATH;\
826+
LD_RUN_PATH=$(PWD)/solib:$(PWD)/lib:$(HDF5_PREFIX)/lib;export LD_RUN_PATH;
827+
endif
828+
else
829+
ifeq ($(HDF5_PREFIX),)
830+
RTLPEXPORTS = LD_LIBRARY_PATH=$(LD_LIBRARY_PATH):$(PWD)/solib:$(PWD)/lib;export LD_LIBRARY_PATH;\
831+
DYLD_LIBRARY_PATH=$(DYLD_LIBRARY_PATH):$(PWD)/solib:$(PWD)/lib;export DYLD_LIBRARY_PATH;\
832+
LD_RUN_PATH=$(LD_RUN_PATH):$(PWD)/solib:$(PWD)/lib;export LD_RUN_PATH;
833+
else
834+
RTLPEXPORTS = LD_LIBRARY_PATH=$(LD_LIBRARY_PATH):$(PWD)/solib:$(PWD)/lib:$(HDF5_PREFIX)/lib;export LD_LIBRARY_PATH;\
835+
DYLD_LIBRARY_PATH=$(DYLD_LIBRARY_PATH):$(PWD)/solib:$(PWD)/lib:$(HDF5_PREFIX)/lib;export DYLD_LIBRARY_PATH;\
836+
LD_RUN_PATH=$(LD_RUN_PATH):$(PWD)/solib:$(PWD)/lib:$(HDF5_PREFIX)/lib;export LD_RUN_PATH;
837+
endif
804838
endif
805839

806840
######################################################################
@@ -1112,7 +1146,8 @@ endif
11121146

11131147

11141148
all:: $(BIN) $(SOURCE) $(F90SOURCE) $(HEADERS) \
1115-
$(SWIG_KIT) \
1149+
$(SWIG_FORTRAN_KIT) \
1150+
$(SWIG_KIT) \
11161151
$(HDF5) \
11171152
$(LIBAECDEPS) \
11181153
$(LZ4DEPS) \
@@ -1440,16 +1475,29 @@ endif
14401475
chmod 755 $(CBF_PREFIX)/bin/batch_convert_minicbf.sh
14411476
chmod 644 $(CBF_PREFIX)/include/cbflib/*.h
14421477

1478+
ifneq ($(CBFLIB_DONT_USE_LOCAL_SWIG_FORTRAN),yes)
1479+
#
1480+
# SWIG_FORTRAN_KIT
1481+
#
1482+
build_swig_fortran: $(M4)/Makefile.m4
1483+
touch build_swig_fortran
1484+
$(SWIG_FORTRAN_KIT): build_swig_fortran
1485+
rm -rf $(SWIG_FORTRAN_KIT)
1486+
git clone $(SWIG_FORTRAN_URL) $(SWIG_FORTRAN_KIT)
1487+
(export SWIG_FORTRAN_PREFIX=$(PWD);cd $(SWIG_FORTRAN_KIT); ./autogen.sh; \
1488+
./configure --prefix=$(F90CBF); make; make install)
1489+
touch $(SWIG_FORTRAN_KIT)
1490+
endif
1491+
14431492
ifneq ($(CBFLIB_DONT_USE_LOCAL_SWIG),yes)
14441493
#
14451494
# SWIG_KIT
14461495
#
1447-
$(SWIG_KIT):
14481496
build_swig: $(M4)/Makefile.m4
14491497
touch build_swig
14501498
$(SWIG_KIT): build_swig
14511499
rm -rf $(SWIG_KIT)
1452-
git clone $(SWIG_URL)
1500+
git clone $(SWIG_URL) $(SWIG_KIT)
14531501
(export SWIG_PREFIX=$(PWD);cd $(SWIG_KIT); ./autogen.sh; \
14541502
./configure --prefix=$(SWIG_PREFIX); make; make install)
14551503
touch $(SWIG_KIT)
@@ -1684,7 +1732,7 @@ $(BSHUF): $(HDF5) build_BSHUF $(LZ4dep)
16841732
mkdir -p $(SOLIB)
16851733
-rm -rf $(BSHUF)
16861734
git clone $(BSHUF_URL)
1687-
(cd $(BSHUF); git submodule update --init; python3 -m build --config-setting=install \
1735+
(cd $(BSHUF); git submodule update --init; $(PYTHON3) -m build --config-setting=install \
16881736
-C--h5plugin -C--h5plugin-dir=../solib -C--zstd -C--user)
16891737
touch $(BSHUF)
16901738
endif
@@ -2050,12 +2098,12 @@ $(SOLIB)/$(SO_LIB_CBF_WRAP): $(JCBF)/cbflib-$(VERSION).jar $(SOLIB)/$(SO_LIB_CBF
20502098
#
20512099
# F90 bindings
20522100
#
2053-
$(F90CBF)/f90cbf.f90 $(F90CBF)/f90cbf_wrap.c $(F90CBF)/f90cbf.mod: $(F90CBF)/f90cbf.i $(BIN)/convert_f90_swig_wrap
2054-
$(SWIG) -fortran $(INCLUDES) $(F90CBF)/f90cbf.i
2101+
$(F90CBF)/f90cbf.f90 $(F90CBF)/f90cbf_wrap.c $(F90CBF)/f90cbf.mod: $(F90CBF)/f90cbf.i $(F90CBF)/bin/convert_f90_swig_wrap
2102+
$(SWIG_FORTRAN) -fortran $(INCLUDES) $(F90CBF)/f90cbf.i
20552103
cp $(F90CBF)/f90cbf.f90 $(F90CBF)/f90cbf.f90_orig
20562104
cp $(F90CBF)/f90cbf_wrap.c $(F90CBF)/f90cbf_wrap.c_orig
2057-
(cd $(F90CBF);cat f90cbf.f90_orig | $(BIN)/convert_f90_swig_wrap > f90cbf.f90)
2058-
(cd $(F90CBF);cat f90cbf_wrap.c_orig | $(BIN)/convert_f90_swig_wrap > f90cbf_wrap.c)
2105+
(cd $(F90CBF);cat f90cbf.f90_orig | $(F90CBF)/bin/convert_f90_swig_wrap > f90cbf.f90)
2106+
(cd $(F90CBF);cat f90cbf_wrap.c_orig | $(F90CBF)/bin/convert_f90_swig_wrap > f90cbf_wrap.c)
20592107

20602108
$(F90CBF)/f90cbf.o: $(F90CBF)/f90cbf.f90
20612109
(cd $(F90CBF); $(F90C) -ffree-form -fPIC $(FCFLAGS) -c $(F90CBF)/f90cbf.f90)
@@ -2113,8 +2161,8 @@ $(EXAMPLES)/test_xds_binary.f90: $(M4)/test_xds_binary.m4 $(M4)/fcblib_defines.m
21132161
#
21142162
# convert_f90_swig_wrap program
21152163
#
2116-
$(BIN)/convert_f90_swig_wrap: $(EXAMPLES)/convert_f90_swig_wrap.cpp
2117-
mkdir -p $(BIN)
2164+
$(F90CBF)/bin/convert_f90_swig_wrap: $(EXAMPLES)/convert_f90_swig_wrap.cpp
2165+
mkdir -p $(F90CBF)/bin
21182166
$(C++) $(CFLAGS) $(LDFLAGS) $(MISCFLAG) $(INCLUDES) $(WARNINGS) \
21192167
$(EXAMPLES)/convert_f90_swig_wrap.cpp -L$(LIB) -o $@
21202168

@@ -2971,6 +3019,9 @@ empty:
29713019
ifneq ($(CBFLIB_DONT_USE_LOCAL_SWIG),yes)
29723020
@-rm -rf $(SWIG_KIT)
29733021
endif
3022+
ifneq ($(CBFLIB_DONT_USE_LOCAL_SWIG_FORTRAN),yes)
3023+
@-rm -rf $(SWIG_FORTRAN_KIT)
3024+
endif
29743025
ifneq ($(CBFLIB_DONT_USE_PY2CIFRW),yes)
29753026
@-rm -f $(PY2CBF)/_py2cbf.$(PY2CBFEXT)
29763027
@-rm -rf $(PY2CBF)/build/*

0 commit comments

Comments
 (0)