aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt146
-rw-r--r--NEWS1
-rw-r--r--config.h.cmake.in22
-rw-r--r--libcrystfel/CMakeLists.txt44
-rw-r--r--libcrystfel/config.h.cmake.in19
-rw-r--r--libcrystfel/crystfel.pc.in6
-rw-r--r--libcrystfel/src/index.c2
-rw-r--r--libcrystfel/src/symmetry.c11
-rw-r--r--src/scaling.c1
9 files changed, 132 insertions, 120 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6b8b9e5a..8bb37e05 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,7 @@
cmake_minimum_required(VERSION 3.6)
-project(crystfel VERSION 0.6.3 LANGUAGES C)
+set(CRYSTFEL_VERSION 0.7.0)
+set(CRYSTFEL_API_VERSION 10)
+project(crystfel VERSION ${CRYSTFEL_VERSION} LANGUAGES C)
include(GNUInstallDirs)
@@ -12,16 +14,9 @@ find_package(GSL REQUIRED)
find_package(GTK2 2.0.0 COMPONENTS gtk)
find_package(GdkPixbuf2)
find_package(GDK)
-find_package(FFTW)
-find_package(CBF)
find_package(TIFF)
find_package(Cairo)
-find_package(XGANDALF)
-find_package(PINKINDEXER)
-find_package(NBP)
-find_package(FDIP)
find_package(OpenCL)
-find_package(Curses)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdiagnostics-color=always")
@@ -29,16 +24,10 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR})
add_definitions(-DHAVE_CONFIG_H -DDATADIR=\"${CMAKE_INSTALL_FULL_DATADIR}\")
set(CMAKE_C_STANDARD 99)
-# Make programs work without LD_LIBRARY_PATH when installed to a non system directory
-list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir)
-if("${isSystemDir}" STREQUAL "-1")
- set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
-endif("${isSystemDir}" STREQUAL "-1")
-
# Common include directories and libraries
set(COMMON_INCLUDES ${HDF5_INCLUDE_DIRS})
-set(COMMON_LIBRARIES libcrystfel ${HDF5_C_LIBRARIES} Threads::Threads GSL::gsl)
+set(COMMON_LIBRARIES libcrystfel m GSL::gsl Threads::Threads)
include(GetGitRevisionDescription)
get_git_head_revision(GIT_REFSPEC GIT_SHA1)
@@ -50,14 +39,9 @@ include(CheckLibraryExists)
set(HAVE_CAIRO ${CAIRO_FOUND})
set(HAVE_TIFF ${TIFF_FOUND})
set(HAVE_GTK ${GTK2_FOUND})
-set(HAVE_FFTW ${FFTW_FOUND})
-set(HAVE_XGANDALF ${XGANDALF_FOUND})
-set(HAVE_FDIP ${FDIP_FOUND})
set(HAVE_OPENCL ${OpenCL_FOUND})
-set(HAVE_CBFLIB ${CBF_FOUND})
set(HAVE_GDKPIXBUF ${GDKPIXBUF_FOUND})
set(HAVE_GDK ${GDK_FOUND})
-set(HAVE_CURSES ${CURSES_FOUND})
set(PACKAGE_VERSION ${PROJECT_VERSION})
@@ -72,55 +56,48 @@ endif (OpenCL_FOUND)
# Check for nice clock function
check_symbol_exists(clock_gettime "time.h" HAVE_CLOCK_GETTIME)
-# Check for CPU affinity functions (Linux-specific)
-set(CMAKE_REQUIRED_DEFINITIONS "-D_GNU_SOURCE")
-check_symbol_exists(sched_setaffinity "sched.h" HAVE_CPU_AFFINITY)
-unset(CMAKE_REQUIRED_DEFINITIONS)
+# Add the libcrystfel target
+add_subdirectory(libcrystfel)
configure_file(config.h.cmake.in config.h)
include_directories(${CMAKE_CURRENT_BINARY_DIR})
-# Add the libcrystfel target
-add_subdirectory(libcrystfel)
-
# Add tests
enable_testing()
add_subdirectory(tests)
-# crystfel.pc
-configure_file(libcrystfel/crystfel.pc.in crystfel.pc)
-install(FILES ${CMAKE_BINARY_DIR}/crystfel.pc
- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
-
# Install scripts
install(DIRECTORY ${CMAKE_SOURCE_DIR}/scripts
DESTINATION ${CMAKE_INSTALL_DOCDIR})
# API docs
-find_package(GtkDoc 1.25)
-if (GTKDOC_FOUND)
- configure_file(doc/reference/libcrystfel/xml/gtkdocentities.ent.cmake.in
- docs/xml/gtkdocentities.ent)
- configure_file(doc/reference/libcrystfel/CrystFEL-docs.sgml
- docs/CrystFEL-docs.sgml COPYONLY)
- add_custom_target(documentation ALL VERBATIM COMMAND
- ${CMAKE_SOURCE_DIR}/doc/reference/libcrystfel/build-docs)
- install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/docs/html
- DESTINATION ${CMAKE_INSTALL_DOCDIR})
-endif (GTKDOC_FOUND)
+option(BUILD_API_DOCS "Build API documentation" OFF)
+if (BUILD_API_DOCS)
+ find_package(GtkDoc 1.25)
+ if (GTKDOC_FOUND)
+ configure_file(doc/reference/libcrystfel/xml/gtkdocentities.ent.cmake.in
+ docs/xml/gtkdocentities.ent)
+ configure_file(doc/reference/libcrystfel/CrystFEL-docs.sgml
+ docs/CrystFEL-docs.sgml COPYONLY)
+ add_custom_target(documentation ALL VERBATIM COMMAND
+ ${CMAKE_SOURCE_DIR}/doc/reference/libcrystfel/build-docs)
+ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/docs/html
+ DESTINATION ${CMAKE_INSTALL_DOCDIR})
+ else (GTKDOC_FOUND)
+ message(SEND_ERROR "gtk-doc not found")
+ endif (GTKDOC_FOUND)
+endif (BUILD_API_DOCS)
# ----------------------------------------------------------------------
-# Build Target
# partial_sim
set(PARTIAL_SIM_SOURCES src/partial_sim.c)
-
add_executable(partial_sim ${PARTIAL_SIM_SOURCES})
target_include_directories(partial_sim PRIVATE ${COMMON_INCLUDES})
target_link_libraries(partial_sim ${COMMON_LIBRARIES})
+list(APPEND CRYSTFEL_EXECUTABLES partial_sim)
# ----------------------------------------------------------------------
-# Build Target
# pattern_sim
set(PATTERN_SIM_SOURCES src/pattern_sim.c src/diffraction.c)
@@ -132,7 +109,7 @@ endif(HAVE_OPENCL)
add_executable(pattern_sim ${PATTERN_SIM_SOURCES} ${PATTERN_SIM_OPENCL_SOURCES})
target_include_directories(pattern_sim PRIVATE ${COMMON_INCLUDES})
-target_link_libraries(pattern_sim ${COMMON_LIBRARIES})
+target_link_libraries(pattern_sim ${COMMON_LIBRARIES} ${HDF5_C_LIBRARIES})
if(HAVE_OPENCL)
target_include_directories(pattern_sim PRIVATE ${OpenCL_INCLUDE_DIRS})
@@ -142,8 +119,9 @@ endif(HAVE_OPENCL)
set_target_properties(pattern_sim PROPERTIES
RESOURCE "${PATTERN_SIM_RESOURCE_FILES}")
+list(APPEND CRYSTFEL_EXECUTABLES pattern_sim)
+
# ----------------------------------------------------------------------
-# Build Target
# hdfsee
if (GTK2_FOUND)
@@ -162,15 +140,11 @@ if (GTK2_FOUND)
set_target_properties(hdfsee PROPERTIES RESOURCE "${HDFSEE_RESOURCE_FILES}")
- install (TARGETS hdfsee
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- RESOURCE DESTINATION share/crystfel)
+ list(APPEND CRYSTFEL_EXECUTABLES hdfsee)
endif (GTK2_FOUND)
# ----------------------------------------------------------------------
-# Build Target
# cell_explorer
if (GTK2_FOUND)
@@ -181,14 +155,11 @@ if (GTK2_FOUND)
target_include_directories(cell_explorer PRIVATE ${COMMON_INCLUDES} ${GTK2_INCLUDE_DIRS})
target_link_libraries(cell_explorer ${COMMON_LIBRARIES} ${GTK2_LIBRARIES})
- install (TARGETS cell_explorer
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib)
+ list(APPEND CRYSTFEL_EXECUTABLES cell_explorer)
endif (GTK2_FOUND)
# ----------------------------------------------------------------------
-# Build Target
# render_hkl
if (CAIRO_FOUND)
@@ -199,32 +170,29 @@ if (CAIRO_FOUND)
target_include_directories(render_hkl PRIVATE ${COMMON_INCLUDES} ${CAIRO_INCLUDE_DIRS})
target_link_libraries(render_hkl ${COMMON_LIBRARIES} ${CAIRO_LIBRARIES})
- install (TARGETS render_hkl
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib)
+ list(APPEND CRYSTFEL_EXECUTABLES render_hkl)
endif (CAIRO_FOUND)
# ----------------------------------------------------------------------
-# Build Target
# process_hkl
set(PROCESS_HKL_SOURCES src/process_hkl.c)
add_executable(process_hkl ${PROCESS_HKL_SOURCES})
target_include_directories(process_hkl PRIVATE ${COMMON_INCLUDES})
target_link_libraries(process_hkl ${COMMON_LIBRARIES})
+list(APPEND CRYSTFEL_EXECUTABLES process_hkl)
# ----------------------------------------------------------------------
-# Build Target
# list_events
set(LIST_EVENTS_SOURCES src/list_events.c)
add_executable(list_events ${LIST_EVENTS_SOURCES})
target_include_directories(list_events PRIVATE ${COMMON_INCLUDES})
target_link_libraries(list_events ${COMMON_LIBRARIES})
+list(APPEND CRYSTFEL_EXECUTABLES list_events)
# ----------------------------------------------------------------------
-# Build Target
# indexamajig
set(INDEXAMAJIG_SOURCES src/indexamajig.c src/im-sandbox.c src/process_image.c
@@ -233,36 +201,36 @@ set(INDEXAMAJIG_SOURCES src/indexamajig.c src/im-sandbox.c src/process_image.c
add_executable(indexamajig ${INDEXAMAJIG_SOURCES})
target_include_directories(indexamajig PRIVATE ${COMMON_INCLUDES})
target_link_libraries(indexamajig ${COMMON_LIBRARIES})
+list(APPEND CRYSTFEL_EXECUTABLES indexamajig)
# ----------------------------------------------------------------------
-# Build Target
# get_hkl
set(GET_HKL_SOURCES src/get_hkl.c)
add_executable(get_hkl ${GET_HKL_SOURCES})
target_include_directories(get_hkl PRIVATE ${COMMON_INCLUDES})
target_link_libraries(get_hkl ${COMMON_LIBRARIES})
+list(APPEND CRYSTFEL_EXECUTABLES get_hkl)
# ----------------------------------------------------------------------
-# Build Target
# compare_hkl
set(COMPARE_HKL_SOURCES src/compare_hkl.c)
add_executable(compare_hkl ${COMPARE_HKL_SOURCES})
target_include_directories(compare_hkl PRIVATE ${COMMON_INCLUDES})
target_link_libraries(compare_hkl ${COMMON_LIBRARIES})
+list(APPEND CRYSTFEL_EXECUTABLES compare_hkl)
# ----------------------------------------------------------------------
-# Build Target
# check_hkl
set(CHECK_HKL_SOURCES src/check_hkl.c)
add_executable(check_hkl ${CHECK_HKL_SOURCES})
target_include_directories(check_hkl PRIVATE ${COMMON_INCLUDES})
target_link_libraries(check_hkl ${COMMON_LIBRARIES})
+list(APPEND CRYSTFEL_EXECUTABLES check_hkl)
# ----------------------------------------------------------------------
-# Build Target
# partialator
set(PARTIALATOR_SOURCES src/partialator.c src/post-refinement.c src/merge.c
@@ -270,24 +238,25 @@ set(PARTIALATOR_SOURCES src/partialator.c src/post-refinement.c src/merge.c
add_executable(partialator ${PARTIALATOR_SOURCES})
target_include_directories(partialator PRIVATE ${COMMON_INCLUDES})
target_link_libraries(partialator ${COMMON_LIBRARIES})
+list(APPEND CRYSTFEL_EXECUTABLES partialator)
# ----------------------------------------------------------------------
-# Build Target
# ambigator
set(AMBIGATOR_SOURCES src/ambigator.c)
add_executable(ambigator ${AMBIGATOR_SOURCES})
target_include_directories(ambigator PRIVATE ${COMMON_INCLUDES})
-target_link_libraries(ambigator ${COMMON_LIBRARIES})
+target_link_libraries(ambigator ${COMMON_LIBRARIES} ${HDF5_C_LIBRARIES})
+list(APPEND CRYSTFEL_EXECUTABLES ambigator)
# ----------------------------------------------------------------------
-# Build Target
# geoptimiser
set(GEOPTIMISER_SOURCES src/geoptimiser.c src/hdfsee-render.c)
add_executable(geoptimiser ${GEOPTIMISER_SOURCES})
target_include_directories(geoptimiser PRIVATE ${COMMON_INCLUDES})
target_link_libraries(geoptimiser ${COMMON_LIBRARIES})
+list(APPEND CRYSTFEL_EXECUTABLES geoptimiser)
# Add features one by one so that #ifdef HAVE_XX//#include XX.h always works
# If Cairo, gdk-pixbuf and GDK are all found, geoptimiser will add PNG support
@@ -312,37 +281,30 @@ if (TIFF_FOUND)
endif (TIFF_FOUND)
# ----------------------------------------------------------------------
-# Build Target
# whirligig
set(WHIRLIGIG_SOURCES src/whirligig.c)
add_executable(whirligig ${WHIRLIGIG_SOURCES})
target_include_directories(whirligig PRIVATE ${COMMON_INCLUDES})
target_link_libraries(whirligig ${COMMON_LIBRARIES})
+list(APPEND CRYSTFEL_EXECUTABLES whirligig)
# ----------------------------------------------------------------------
-# install targets
-
-install(TARGETS
- partial_sim
- pattern_sim
- process_hkl
- list_events
- indexamajig
- get_hkl
- compare_hkl
- check_hkl
- partialator
- ambigator
- whirligig
- geoptimiser
- # hdfsee, cell_explorer, render_hkl only if dependencies are satisfied
-
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- RESOURCE DESTINATION share/crystfel
-)
+# Install targets
+
+set_target_properties(${CRYSTFEL_EXECUTABLES}
+ PROPERTIES INSTALL_RPATH_USE_LINK_PATH 1)
+
+list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_LIBDIR}" isSystemDir)
+if("${isSystemDir}" STREQUAL "-1")
+ set_target_properties(${CRYSTFEL_EXECUTABLES}
+ PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR};${CMAKE_INSTALL_RPATH}")
+endif("${isSystemDir}" STREQUAL "-1")
+
+install(TARGETS ${CRYSTFEL_EXECUTABLES}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ RESOURCE DESTINATION share/crystfel)
install(FILES
doc/man/ambigator.1
diff --git a/NEWS b/NEWS
deleted file mode 100644
index 40f527c5..00000000
--- a/NEWS
+++ /dev/null
@@ -1 +0,0 @@
-There is no NEWS. Check the version control repository...
diff --git a/config.h.cmake.in b/config.h.cmake.in
index 2db30860..24b2ab86 100644
--- a/config.h.cmake.in
+++ b/config.h.cmake.in
@@ -1,24 +1,12 @@
-#cmakedefine HAVE_CAIRO
-#cmakedefine HAVE_CLOCK_GETTIME
-#cmakedefine HAVE_CPU_AFFINITY
-#cmakedefine HAVE_FFTW
+/* config.h for CrystFEL main programs */
+
#cmakedefine HAVE_GTK
#cmakedefine HAVE_GDKPIXBUF
#cmakedefine HAVE_GDK
-#cmakedefine HAVE_OPENCL
-#cmakedefine HAVE_CL_CL_H
#cmakedefine HAVE_TIFF
-#cmakedefine HAVE_XGANDALF
-#cmakedefine HAVE_FDIP
-#cmakedefine HAVE_CURSES
-
-/* We avoid adding the full path to cbf.h, because CBFlib unhelpfully installs
- * some conflicting HDF5 headers which we want to keep out of the include path.
- * Unfortunately, sometimes CBFlib installs cbf/cbf.h, other times cbflib/cbf.h.
- * These defines tell whether we have CBFlib at all, and if so, what to #include */
-#cmakedefine HAVE_CBFLIB
-#cmakedefine HAVE_CBF_CBF_H
-#cmakedefine HAVE_CBFLIB_CBF_H
+#cmakedefine HAVE_CAIRO
+#cmakedefine HAVE_OPENCL
+#cmakedefine HAVE_CLOCK_GETTIME
#define PACKAGE_VERSION "${PROJECT_VERSION}"
diff --git a/libcrystfel/CMakeLists.txt b/libcrystfel/CMakeLists.txt
index 5d0ee069..1fba6624 100644
--- a/libcrystfel/CMakeLists.txt
+++ b/libcrystfel/CMakeLists.txt
@@ -1,4 +1,28 @@
-project(libcrystfel)
+project(libcrystfel VERSION ${CRYSTFEL_VERSION} LANGUAGES C)
+
+find_package(Curses)
+find_package(FFTW)
+find_package(CBF)
+find_package(XGANDALF)
+find_package(PINKINDEXER)
+find_package(NBP)
+find_package(FDIP)
+
+set(HAVE_CURSES ${CURSES_FOUND})
+set(HAVE_FFTW ${FFTW_FOUND})
+set(HAVE_XGANDALF ${XGANDALF_FOUND})
+set(HAVE_FDIP ${FDIP_FOUND})
+set(HAVE_CBFLIB ${CBF_FOUND})
+
+# Check for CPU affinity functions (Linux-specific)
+set(CMAKE_REQUIRED_DEFINITIONS "-D_GNU_SOURCE")
+check_symbol_exists(sched_setaffinity "sched.h" HAVE_CPU_AFFINITY)
+unset(CMAKE_REQUIRED_DEFINITIONS)
+
+# Check for nice clock function
+check_symbol_exists(clock_gettime "time.h" HAVE_CLOCK_GETTIME)
+
+configure_file(config.h.cmake.in config.h)
set(LIBCRYSTFEL_SOURCES
src/reflist.c
@@ -76,10 +100,18 @@ add_library(${PROJECT_NAME} SHARED
${LIBCRYSTFEL_FFTW_SOURCES}
${LIBCRYSTFEL_HEADERS})
+set_target_properties(${PROJECT_NAME} PROPERTIES INSTALL_RPATH_USE_LINK_PATH 1)
+
+set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION ${CRYSTFEL_API_VERSION})
+set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${CRYSTFEL_VERSION})
+
set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "")
target_include_directories(${PROJECT_NAME} INTERFACE ${PROJECT_SOURCE_DIR}/src)
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+add_definitions(-DHAVE_CONFIG_H)
+
target_include_directories(${PROJECT_NAME} PRIVATE ${HDF5_INCLUDE_DIRS})
-target_link_libraries(${PROJECT_NAME} PRIVATE util ${HDF5_C_LIBRARIES})
+target_link_libraries(${PROJECT_NAME} PRIVATE util ${HDF5_C_LIBRARIES} Threads::Threads GSL::gsl m)
if (XGANDALF_FOUND)
target_include_directories(${PROJECT_NAME} PRIVATE ${XGANDALF_INCLUDES})
@@ -119,5 +151,9 @@ endif (CURSES_FOUND)
target_compile_options(${PROJECT_NAME} PRIVATE -Wall)
install (TARGETS libcrystfel
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib)
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+# crystfel.pc
+configure_file(crystfel.pc.in crystfel.pc)
+install(FILES ${CMAKE_BINARY_DIR}/libcrystfel/crystfel.pc
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
diff --git a/libcrystfel/config.h.cmake.in b/libcrystfel/config.h.cmake.in
new file mode 100644
index 00000000..36bbba60
--- /dev/null
+++ b/libcrystfel/config.h.cmake.in
@@ -0,0 +1,19 @@
+/* config.h for libcrystfel */
+
+#cmakedefine HAVE_CLOCK_GETTIME
+#cmakedefine HAVE_CPU_AFFINITY
+#cmakedefine HAVE_FFTW
+#cmakedefine HAVE_CL_CL_H
+#cmakedefine HAVE_XGANDALF
+#cmakedefine HAVE_FDIP
+#cmakedefine HAVE_CURSES
+
+/* We avoid adding the full path to cbf.h, because CBFlib unhelpfully installs
+ * some conflicting HDF5 headers which we want to keep out of the include path.
+ * Unfortunately, sometimes CBFlib installs cbf/cbf.h, other times cbflib/cbf.h.
+ * These defines tell whether we have CBFlib at all, and if so, what to #include */
+#cmakedefine HAVE_CBFLIB
+#cmakedefine HAVE_CBF_CBF_H
+#cmakedefine HAVE_CBFLIB_CBF_H
+
+#define CRYSTFEL_VERSIONSTRING "${PROJECT_VERSION}+${GIT_SHA1}"
diff --git a/libcrystfel/crystfel.pc.in b/libcrystfel/crystfel.pc.in
index 7539cad1..3a355f06 100644
--- a/libcrystfel/crystfel.pc.in
+++ b/libcrystfel/crystfel.pc.in
@@ -5,7 +5,7 @@ includedir=${CMAKE_INSTALL_FULL_INCLUDEDIR}
Name: CrystFEL
Description: Useful routines for crystallography using a free-electron laser
-Version: ${PROJECT_VERSION}+${GIT_SHA1}
-Cflags: -I${CMAKE_INSTALL_FULL_INCLUDEDIR} -pthread
+Version: ${PROJECT_VERSION}
+Cflags: -I${CMAKE_INSTALL_FULL_INCLUDEDIR}
Libs: -L${CMAKE_INSTALL_FULL_LIBDIR} -lcrystfel
-Requires: gsl
+Requires.private: gsl
diff --git a/libcrystfel/src/index.c b/libcrystfel/src/index.c
index b20c689a..ff84c629 100644
--- a/libcrystfel/src/index.c
+++ b/libcrystfel/src/index.c
@@ -474,8 +474,6 @@ void cleanup_indexing(IndexingPrivate *ipriv)
}
- n++;
-
}
free(ipriv->methods);
diff --git a/libcrystfel/src/symmetry.c b/libcrystfel/src/symmetry.c
index 897d134f..5f3b67f2 100644
--- a/libcrystfel/src/symmetry.c
+++ b/libcrystfel/src/symmetry.c
@@ -981,6 +981,7 @@ static SymOpList *getpg_arbitrary_ua(const char *sym, size_t s)
char *pg_type;
SymOpList *pg;
IntegerMatrix *t;
+ char *new_name;
if ( strncmp(sym+s, "ua", 2) == 0 ) {
ua = sym[s+2];
@@ -1037,6 +1038,16 @@ static SymOpList *getpg_arbitrary_ua(const char *sym, size_t s)
transform_ops(pg, t);
intmat_free(t);
+ new_name = malloc(64);
+ if ( new_name == NULL ) {
+ ERROR("Couldn't allocate space for PG name\n");
+ return NULL;
+ }
+
+ snprintf(new_name, 64, "%s_ua%c", pg->name, ua);
+ free(pg->name);
+ pg->name = new_name;
+
return pg;
}
diff --git a/src/scaling.c b/src/scaling.c
index cabc5952..21bd0db2 100644
--- a/src/scaling.c
+++ b/src/scaling.c
@@ -37,7 +37,6 @@
#include <gsl/gsl_vector.h>
#include <gsl/gsl_linalg.h>
#include <gsl/gsl_eigen.h>
-#include <gsl/gsl_blas.h>
#include <gsl/gsl_fit.h>
#include <gsl/gsl_statistics_double.h>