diff --git a/.gitignore b/.gitignore index 3f133812b5701659606720b7d8c2cb19691f5326..97a414dab43acb9bd8f1f36bfbc6756c2bb5e907 100644 --- a/.gitignore +++ b/.gitignore @@ -55,3 +55,5 @@ __pycache__/ *.py[cod] *$py.class .ipynb_checkpoints + +.cache/* diff --git a/CTP/CMakeLists.txt b/CTP/CMakeLists.txt index 12a3a646e182546933e927ed1b873c2db6d9203a..b1098f7194f198ed5ecb74bec97b601c03aadb5d 100644 --- a/CTP/CMakeLists.txt +++ b/CTP/CMakeLists.txt @@ -9,7 +9,7 @@ set (PROGRAM "${PROJECT_NAME}_makereg") set (TARGETS ${TARGETS} ${LIBRARY} ${CLIENT_LIBRARY} ${PROGRAM} PARENT_SCOPE) -## for RPC Command ${RPCCOM} +## for RPC Command ${RPCCOM} ${RPCGEN_FLAGS} include (compiler.cmake) ################################################################################ @@ -42,23 +42,23 @@ ADD_CUSTOM_COMMAND( DEPENDS ${RPC_DEP_HEADER_SRC}) ADD_CUSTOM_COMMAND( OUTPUT ${RPC_XDR_SOURCE} - COMMAND ${RPCCOM} -o ${RPC_XDR_SOURCE} -c ${RPC_RAW} + COMMAND ${RPCCOM} ${RPCGEN_FLAGS} -o ${RPC_XDR_SOURCE} -c ${RPC_RAW} DEPENDS ${RPC_RAW}) ADD_CUSTOM_COMMAND( OUTPUT ${RPC_SVC_SOURCE} - COMMAND ${RPCCOM} -o ${RPC_SVC_SOURCE} -m ${RPC_RAW} + COMMAND ${RPCCOM} ${RPCGEN_FLAGS} -o ${RPC_SVC_SOURCE} -m ${RPC_RAW} DEPENDS ${RPC_RAW}) ADD_CUSTOM_COMMAND( OUTPUT ${RPC_SVC_PATCH_SOURCE} COMMAND sed -e 's/extern/static/g' ${RPC_SVC_SOURCE} > ${RPC_SVC_PATCH_SOURCE} - DEPENDS ${RCP_SVC_SOURCE}) + DEPENDS ${RPC_SVC_SOURCE}) ADD_CUSTOM_COMMAND( OUTPUT ${RPC_CLNT_SOURCE} - COMMAND ${RPCCOM} -o ${RPC_CLNT_SOURCE} -l ${RPC_RAW} + COMMAND ${RPCCOM} ${RPCGEN_FLAGS} -o ${RPC_CLNT_SOURCE} -l ${RPC_RAW} DEPENDS ${RPC_RAW}) ADD_CUSTOM_COMMAND( OUTPUT ${RPC_HEADER} - COMMAND ${RPCCOM} -o ${RPC_HEADER} -h ${RPC_RAW} + COMMAND ${RPCCOM} ${RPCGEN_FLAGS} -o ${RPC_HEADER} -h ${RPC_RAW} DEPENDS ${RPC_RAW}) ################################################################################ @@ -80,7 +80,7 @@ set_target_properties(${LIBRARY} PROPERTIES add_library(${CLIENT_LIBRARY} STATIC ${CLIENT_SOURCES} ${RPC_CLNT_SOURCE} ${RPC_XDR_SOURCE} ${RPC_HEADER}) -set_target_properties(${LIBRARY} PROPERTIES +set_target_properties(${CLIENT_LIBRARY} PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR}) diff --git a/CTP/CTP/daVarRpcProc.c b/CTP/CTP/daVarRpcProc.c index 27a22d68c13d09ea3535f3e9990bfb4ec7ea818d..c41ae841143da445f53e171a5b13bb02d2ec6bb4 100644 --- a/CTP/CTP/daVarRpcProc.c +++ b/CTP/CTP/daVarRpcProc.c @@ -154,7 +154,7 @@ RVALLIST *davar_readmultiple_1(NAMELIST *argp, CLIENT *clnt) } free(result.RVALLIST_val); #else - xdr_free(xdr_RVALLIST, (void *) &result); + xdr_free((xdrproc_t)xdr_RVALLIST, (void *) &result); #endif } else need_to_free = 1; /* minfo = mallinfo(); @@ -180,7 +180,7 @@ ERRLIST *davar_writemultiple_1(WVALLIST *argp, CLIENT *clnt) static ERRLIST result; int i; - xdr_free(xdr_ERRLIST, (void *) &result); + xdr_free((xdrproc_t)xdr_ERRLIST, (void *) &result); result.ERRLIST_len = argp->WVALLIST_len; result.ERRLIST_val = (int *) malloc(result.ERRLIST_len*sizeof(any)); @@ -285,7 +285,7 @@ davar_readmultiple_test_cb_1(argp, clnt) #endif memset((char *)&clnt_res, 0, sizeof(clnt_res)); - if ((clnt_stat = clnt_call(clnt, DAVAR_READMULTIPLE_TEST_CB, xdr_RVALLIST, argp, xdr_int, &clnt_res, TIMEOUT)) != RPC_SUCCESS) { + if ((clnt_stat = clnt_call(clnt, DAVAR_READMULTIPLE_TEST_CB, (xdrproc_t)xdr_RVALLIST, argp, (xdrproc_t)xdr_int, &clnt_res, TIMEOUT)) != RPC_SUCCESS) { printf("clnt call failed, clnt_stat = %d\n",clnt_stat); clnt_perrno(clnt_stat); return (NULL); @@ -319,7 +319,7 @@ WVALLIST *davar_readpatternmatch_1(char **argp, CLIENT *clnt) } free(result.WVALLIST_val); #else - xdr_free(xdr_WVALLIST, (void *) &result); + xdr_free((xdrproc_t)xdr_WVALLIST, (void *) &result); #endif } else need_to_free = 1; /* minfo = mallinfo(); @@ -439,9 +439,9 @@ int daVarCallBack() free(argp->test_condition); #else if(testresult) { - xdr_free(xdr_RVALLIST, (void *) &rpc); + xdr_free((xdrproc_t)xdr_RVALLIST, (void *) &rpc); } - xdr_free(xdr_TESTNAMELIST, (void *) argp); + xdr_free((xdrproc_t)xdr_TESTNAMELIST, (void *) argp); #endif free(argp); free(this->sock_in); diff --git a/CTP/client/thClient.c b/CTP/client/thClient.c index bc5b9cb225111a51446ac730be6d3301e99b2e61..69ac752a4eae1ffab803353a76b318a1aa7ffc7e 100644 --- a/CTP/client/thClient.c +++ b/CTP/client/thClient.c @@ -84,7 +84,7 @@ FCALLSCFUN1(INT,thPrintList,THPRTLIST,thprtlist,INT); /* Don't really understand the following. What about ultrix? This is probably because of the _ in clnt_create */ #ifndef __osf__ -FCALLSCFUN4(INT,clnt_create,CLNT_CREATE,clnt_create,STRING,INT,INT,STRING); +FCALLSCFUN4(INT,myClntCreate,CLNT_CREATE,clnt_create,STRING,INT,INT,STRING); #else #ifdef BIT64 FCALLSCFUN4(INT,myClntCreate,CLNT_CREATE,clnt_create,STRING,INT,INT,STRING); diff --git a/CTP/compiler.cmake b/CTP/compiler.cmake index b18ca3745fb1a1eb7729bb1db02c9744abbd734c..5b7fd99d5eae476f7c254a520ec4d5386c40e261 100644 --- a/CTP/compiler.cmake +++ b/CTP/compiler.cmake @@ -5,6 +5,8 @@ set(RPCCOM rpcgen -b) ## C Compiler Settings ################################################################################ enable_language (C) +set(CMAKE_C_STANDARD 89) +set(CMAKE_C_STANDARD_REQUIRED yes) ## set special compiler flags get_filename_component(C_COMPILER_NAME ${CMAKE_C_COMPILER} NAME) @@ -12,7 +14,7 @@ get_filename_component(C_COMPILER_NAME ${CMAKE_C_COMPILER} NAME) if (C_COMPILER_NAME MATCHES "cc.*" OR C_COMPILER_NAME MATCHES "gcc.*" OR C_COMPILER_NAME MATCHES "clang.*") - set (CC_EXTRA_FLAGS "-Wall -W") + set (CC_EXTRA_FLAGS "-Wall -W -fomit-frame-pointer -Wno-error=return-type -Wno-unused-but-set-variable -Wno-implicit-function-declaration -Wno-unused-parameter -Wno-unused-variable -Wno-sign-compare -Wno-parentheses") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CC_EXTRA_FLAGS}") set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${CC_EXTRA_FLAGS}") set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${CC_EXTRA_FLAGS}") @@ -33,3 +35,27 @@ endif () ################################################################################ ## f2c settings add_definitions("-Df2cFortran") + +################################################################################ +## RPCGEN Configuration (macOS Homebrew vs. default) +################################################################################ +## On macOS, prefer Homebrew rpcsvc-proto rpcgen to avoid broken system rpcgen. +## On other Unix platforms, use the system-default rpcgen without changes. +set(RPCCOM "rpcgen") # default fallback +set(RPCGEN_FLAGS "") + +if (APPLE) + find_program(HOMEBREW_RPCGEN NAMES rpcgen PATHS /opt/homebrew/opt/rpcsvc-proto/bin NO_DEFAULT_PATH) + if (HOMEBREW_RPCGEN) + message(STATUS "Using Homebrew rpcgen: ${HOMEBREW_RPCGEN}") + set(RPCCOM ${HOMEBREW_RPCGEN}) + set(RPCGEN_FLAGS -b) + else () + message(WARNING "Homebrew rpcgen not found. Using system default.") + set(RPCCOM rpcgen) + set(RPCGEN_FLAGS -b) + endif () +else () + set(RPCCOM rpcgen) + set(RPCGEN_FLAGS -b) +endif () diff --git a/cmake/compiler.cmake b/cmake/compiler.cmake index 875eb56cbd2931cdbaacd9f0e6c9394f8fe38f58..e9c1b441c212053aa58c920a6008e7bf6e107600 100644 --- a/cmake/compiler.cmake +++ b/cmake/compiler.cmake @@ -17,7 +17,7 @@ get_filename_component(C_COMPILER_NAME ${CMAKE_C_COMPILER} NAME) if (C_COMPILER_NAME MATCHES "cc.*" OR C_COMPILER_NAME MATCHES "gcc.*" OR C_COMPILER_NAME MATCHES "clang.*") - set (CC_EXTRA_FLAGS "-fomit-frame-pointer -Wno-error=return-type") + set (CC_EXTRA_FLAGS "-fomit-frame-pointer -Wno-error=return-type -std=gnu89 -Wno-unused-but-set-variable -Wno-implicit-function-declaration -Wno-unused-parameter -Wno-unused-variable -Wno-sign-compare -Wno-parentheses") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CC_EXTRA_FLAGS}") set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${CC_EXTRA_FLAGS}") set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${CC_EXTRA_FLAGS}") diff --git a/nanocernlib b/nanocernlib index cee0741e7008ac46bc4ce5ded570735894efa00a..55a2f9a4ebea3d2339f54082c20a50d5c9aa842d 160000 --- a/nanocernlib +++ b/nanocernlib @@ -1 +1 @@ -Subproject commit cee0741e7008ac46bc4ce5ded570735894efa00a +Subproject commit 55a2f9a4ebea3d2339f54082c20a50d5c9aa842d diff --git a/simc/shared/musc.f b/simc/shared/musc.f index 7ade04d589b756a3531d7d439eb1d59143426bfd..4f104220a5098c5f7bce2affae8429551d8d6b84 100644 --- a/simc/shared/musc.f +++ b/simc/shared/musc.f @@ -40,7 +40,7 @@ C-_____________________________________________________________________ beta = p / sqrt(m2+p*p) - if (doing_positron) + if (doing_positron) then dth = dth + musc_with_tail(beta, p, rad_len) dph = dph + musc_with_tail(beta, p, rad_len) else