diff --git a/configure/CONFIG_COMMON b/configure/CONFIG_COMMON index f98f76ec3..5fc60cc65 100644 --- a/configure/CONFIG_COMMON +++ b/configure/CONFIG_COMMON @@ -47,7 +47,7 @@ DB_OPT = NO #------------------------------------------------------- # Check configure/RELEASE file for consistency CHECK_RELEASE_YES = checkRelease -CHECK_RELEASE_NO = +CHECK_RELEASE_NO = noCheckRelease CHECK_RELEASE_WARN = warnRelease #------------------------------------------------------- diff --git a/configure/RULES_BUILD b/configure/RULES_BUILD index 665a68510..af7094cfb 100644 --- a/configure/RULES_BUILD +++ b/configure/RULES_BUILD @@ -173,6 +173,10 @@ checkRelease: $(CONVERTRELEASE) checkRelease warnRelease: -$(CONVERTRELEASE) checkRelease +noCheckRelease: +ifeq ($(EPICS_HOST_ARCH),$(T_A)) + @echo "Warning: RELEASE file consistency checks have been disabled" +endif #--------------------------------------------------------------- # The order of the following rules is @@ -447,7 +451,7 @@ $(INSTALL_TEMPLATES_SUBDIR)/%: % .PRECIOUS: $(COMMON_INC) .PHONY: all inc build install clean rebuild buildInstall build_clean -.PHONY: runtests checkRelease warnRelease +.PHONY: runtests checkRelease warnRelease noCheckRelease endif # BASE_RULES_BUILD # EOF RULES_BUILD diff --git a/configure/os/CONFIG.Common.ios-arm b/configure/os/CONFIG.Common.ios-arm index b6f1a57b8..26296a38c 100644 --- a/configure/os/CONFIG.Common.ios-arm +++ b/configure/os/CONFIG.Common.ios-arm @@ -1,17 +1,15 @@ # CONFIG.Common.ios-arm # +# $Revision-Id$ # This file is maintained by the build community. # # Definitions for ios-arm target builds +# Sites may override these definitions in CONFIG_SITE.Common.ios-arm +# or CONFIG_SITE..ios-arm #------------------------------------------------------- IOS_PLATFORM = iPhoneOS -# -# Architecture-specific information -# -ARCH_CLASS = armv6 - OP_SYS_CFLAGS += -fno-inline-functions # iOS optimization flags for arm architecture diff --git a/configure/os/CONFIG.Common.ios-x86 b/configure/os/CONFIG.Common.ios-x86 index c236e606c..064319d2b 100644 --- a/configure/os/CONFIG.Common.ios-x86 +++ b/configure/os/CONFIG.Common.ios-x86 @@ -1,8 +1,11 @@ # CONFIG.Common.ios-x86 # +# $Revision-Id$ # This file is maintained by the build community. # # Definitions for ios-x86 target builds +# Sites may override these definitions in CONFIG_SITE.Common.ios-x86 +# or CONFIG_SITE..ios-x86 #------------------------------------------------------- IOS_PLATFORM = iPhoneSimulator diff --git a/configure/os/CONFIG.Common.iosCommon b/configure/os/CONFIG.Common.iosCommon index 3dd6f126c..40f80cb86 100644 --- a/configure/os/CONFIG.Common.iosCommon +++ b/configure/os/CONFIG.Common.iosCommon @@ -3,7 +3,7 @@ # $Revision-Id$ # This file is maintained by the build community. # -# Definitions for iOS target archs +# Definitions for all Apple iOS builds # Sites may override these definitions in CONFIG_SITE.Common.iosCommon # or CONFIG_SITE..iosCommon #------------------------------------------------------- @@ -29,8 +29,14 @@ SDK_DIR = $(PLATFORM_DIR)/Developer/SDKs/$(IOS_PLATFORM)$(IOS_VERSION).sdk #------------------------------------------------------- # Build architecture flags -ARCH_DEP_CFLAGS += -arch $(ARCH_CLASS) -ARCH_DEP_LDFLAGS += -arch $(ARCH_CLASS) +# ARCH_CLASS must contain a list of CPU architectures which must be +# valid arguments to the -arch options for the cc and ld commands. +# ARCH_CLASS is defined in a CONFIG_SITE file which is not loaded +# until after this file. +# +ARCH_DEP_FLAGS = $(addprefix -arch ,$(ARCH_CLASS)) +ARCH_DEP_CFLAGS += $(ARCH_DEP_FLAGS) +ARCH_DEP_LDFLAGS += $(ARCH_DEP_FLAGS) #-------------------------------------------------- # Operating system flags @@ -49,9 +55,9 @@ OPT_CXXFLAGS_YES += -g #------------------------------------------------------- # Compiler definitions: # Use clang instead of gcc -# Must use g++ still CC = $(GNU_BIN)/clang -CCC = $(GNU_BIN)/c++ +CCC = $(GNU_BIN)/clang++ +GNU_LDLIBS_YES = #------------------------------------------------------- # Linker flags @@ -80,6 +86,15 @@ vpath %.m $(USR_VPATH) $(ALL_SRC_DIRS) %.o: %.m $(COMPILE.c) -c $< +#-------------------------------------------------- +# Header dependency file generation +# +# Use compiler when ARCH_CLASS is a single arch value +# otherwise use perl script command +SINGLE_ARCH=$(filter 1,$(words $(ARCH_CLASS))) +HDEPENDS_CFLAGS = $(if $(SINGLE_ARCH),$(HDEPENDS_CFLAGS_$(HDEPENDS))) +HDEPENDS_METHOD = $(if $(SINGLE_ARCH),CFLAGS,CMD) + #-------------------------------------------------- # Allow site overrides -include $(CONFIG)/os/CONFIG_SITE.Common.iosCommon diff --git a/configure/os/CONFIG_SITE.Common.ios-arm b/configure/os/CONFIG_SITE.Common.ios-arm new file mode 100644 index 000000000..43874fe41 --- /dev/null +++ b/configure/os/CONFIG_SITE.Common.ios-arm @@ -0,0 +1,28 @@ +# CONFIG_SITE.Common.ios-arm +# +# $Revision-Id$ +# This file is maintained by the build community. +# +# Site-specific settings for ios-arm target builds +#------------------------------------------------------- + +# Which ARM instruction set(s) to generate code for: +# Most iOS devices can run programs compiled for both the +# ARMv6 and ARMv7 instruction sets. ARMv7 code is usually +# more efficient, but the older devices listed below can only +# use the ARMv6 instruction set. Including both architectures +# generates a Universal binary, which is larger and takes +# longer to compile but runs efficiently on all devices. +# +# ARMv6-only devices: iPhone 1 or 3G, iPod Touch Gen 1 or 2 +# +ARCH_CLASS = armv7 +#ARCH_CLASS = armv6 armv7 +#ARCH_CLASS = armv6 + + +# Uncomment these two definitions to use g++ instead of clang++ +# which may be needed in some circumstances: +# +#CCC = $(GNU_BIN)/c++ +#GNU_LDLIBS_YES = -lgcc diff --git a/configure/os/CONFIG_SITE.Common.iosCommon b/configure/os/CONFIG_SITE.Common.iosCommon index 0f5c09df3..121857c27 100644 --- a/configure/os/CONFIG_SITE.Common.iosCommon +++ b/configure/os/CONFIG_SITE.Common.iosCommon @@ -10,7 +10,8 @@ #IOS_VERSION = 3.2 #IOS_VERSION = 4.1 -IOS_VERSION = 4.3 +#IOS_VERSION = 4.3 +IOS_VERSION = 5.0 # Most sites will want shared libraries diff --git a/configure/os/CONFIG_SITE.Common.linux-x86 b/configure/os/CONFIG_SITE.Common.linux-x86 index 6760e2309..10c536f0d 100644 --- a/configure/os/CONFIG_SITE.Common.linux-x86 +++ b/configure/os/CONFIG_SITE.Common.linux-x86 @@ -32,7 +32,6 @@ COMMANDLINE_LIBRARY = READLINE # Needs -lcurses (older versions) #COMMANDLINE_LIBRARY = READLINE_CURSES -OP_SYS_CFLAGS += -g # Uncomment the followings lines to build with CLANG instead of GCC. # @@ -40,3 +39,10 @@ OP_SYS_CFLAGS += -g #CMPLR_CLASS = clang #CC = clang #CCC = clang++ + + +# It makes sense to include debugging symbols even in optimized builds +# in case you want to attach gdb to the process or examine a core-dump. +# This does cost disk space, but not memory as debug symbols are not +# loaded into RAM when the binary is loaded. +OPT_CFLAGS_YES += -g diff --git a/configure/os/CONFIG_SITE.Common.linux-x86_64 b/configure/os/CONFIG_SITE.Common.linux-x86_64 index 8095c9f2a..64bf91185 100644 --- a/configure/os/CONFIG_SITE.Common.linux-x86_64 +++ b/configure/os/CONFIG_SITE.Common.linux-x86_64 @@ -32,7 +32,6 @@ COMMANDLINE_LIBRARY = READLINE # Needs -lcurses (older versions) #COMMANDLINE_LIBRARY = READLINE_CURSES -OP_SYS_CFLAGS += -g # Uncomment the followings lines to build with CLANG instead of GCC. # @@ -40,3 +39,10 @@ OP_SYS_CFLAGS += -g #CMPLR_CLASS = clang #CC = clang #CCC = clang++ + + +# It makes sense to include debugging symbols even in optimized builds +# in case you want to attach gdb to the process or examine a core-dump. +# This does cost disk space, but not memory as debug symbols are not +# loaded into RAM when the binary is loaded. +OPT_CFLAGS_YES += -g diff --git a/src/ca/client/perl/CA.pm b/src/ca/client/perl/CA.pm index 3aa7c7f51..ac6542e01 100644 --- a/src/ca/client/perl/CA.pm +++ b/src/ca/client/perl/CA.pm @@ -6,9 +6,6 @@ use warnings; my $version = '0.4'; -exists $ENV{EPICS_HOST_ARCH} - or die "EPICS_HOST_ARCH environment variable not set"; - package CA; @@ -26,12 +23,17 @@ package Cap5; our $VERSION = $version; our @ISA = qw(DynaLoader); +# Library is specific to the Perl version and archname +use Config; +my $perl_version = $Config::Config{version}; +my $perl_archname = $Config::Config{archname}; + require DynaLoader; # Add our lib/ directory to the shared library search path use File::Basename; my $Lib = dirname(__FILE__); -push @DynaLoader::dl_library_path, "$Lib/../$ENV{EPICS_HOST_ARCH}"; +push @DynaLoader::dl_library_path, "$Lib/$perl_version/$perl_archname"; bootstrap Cap5 $VERSION; diff --git a/src/ca/client/perl/Makefile b/src/ca/client/perl/Makefile index f9fc0342e..dc58f771c 100644 --- a/src/ca/client/perl/Makefile +++ b/src/ca/client/perl/Makefile @@ -22,6 +22,11 @@ ifneq ($(findstring darwin,$(T_A)),) LOADABLE_SHRLIB_SUFFIX = .bundle endif +PERL_VERSION = $(shell $(PERL) ../perlConfig.pl version) +PERL_ARCHNAME = $(shell $(PERL) ../perlConfig.pl archname) +PERL_ARCHPATH = $(PERL_VERSION)/$(PERL_ARCHNAME) + +ifeq ($(findstring Host,$(VALID_BUILDS)),Host) ifeq ($(findstring $(OS_CLASS),WIN32 cygwin32),) # Doesn't build on WIN32 LOADABLE_LIBRARY_HOST = Cap5 @@ -33,12 +38,11 @@ ifeq ($(findstring $(OS_CLASS),WIN32 cygwin32),) PERL_SCRIPTS += camonitor.pl PERL_MODULES += CA.pm + PERL_MODULES += $(PERL_ARCHPATH)/$(LOADABLE_SHRLIB_PREFIX)Cap5$(LOADABLE_SHRLIB_SUFFIX) - ifeq ($(findstring Host,$(VALID_BUILDS)),Host) - # Can only create docs in Host build - HTMLS_DIR = . - HTMLS = CA.html - endif + HTMLS_DIR = . + HTMLS = CA.html +endif endif Cap5_SRCS = Cap5.xs @@ -61,4 +65,7 @@ ifdef T_A $(RM) $@ podchecker $< && pod2html --infile=$< --outfile=$@ + $(INSTALL_PERL_MODULES)/$(PERL_ARCHPATH)/%: % + $(ECHO) "Installing loadable shared library $@" + @$(INSTALL_LIBRARY) -d -m $(LIB_PERMISSIONS) $< $(INSTALL_PERL_MODULES)/$(PERL_ARCHPATH) endif diff --git a/src/ca/client/tools/camonitor.c b/src/ca/client/tools/camonitor.c index cda00989f..307dad8d6 100644 --- a/src/ca/client/tools/camonitor.c +++ b/src/ca/client/tools/camonitor.c @@ -42,45 +42,49 @@ static int nConn = 0; /* Number of connected void usage (void) { - fprintf (stderr, "\nUsage: camonitor [options] ...\n\n" - " -h: Help: Print this message\n" + fprintf (stderr, "\nUsage: camonitor [options] ...\n" + "\n" + " -h: Help; Print this message\n" "Channel Access options:\n" - " -w : Wait time, specifies CA timeout, default is %f second(s)\n" - " -m : Specify CA event mask to use, with being any combination of\n" - " 'v' (value), 'a' (alarm), 'l' (log/archive), 'p' (property). Default: va\n" - " -p : CA priority (0-%u, default 0=lowest)\n" + " -w : Wait time, specifies CA timeout, default is %f second(s)\n" + " -m : Specify CA event mask to use. is any combination of\n" + " 'v' (value), 'a' (alarm), 'l' (log/archive), 'p' (property).\n" + " Default event mask is 'va'\n" + " -p : CA priority (0-%u, default 0=lowest)\n" "Timestamps:\n" - " Default: Print absolute timestamps (as reported by CA server)\n" - " -t : Specify timestamp source(s) and type, with containing\n" - " 's' = CA server (remote) timestamps\n" - " 'c' = CA client (local) timestamps (shown in '()'s)\n" - " 'n' = no timestamps\n" - " 'r' = relative timestamps (time elapsed since start of program)\n" - " 'i' = incremental timestamps (time elapsed since last update)\n" - " 'I' = incremental timestamps (time elapsed since last update, by channel)\n" + " Default: Print absolute timestamps (as reported by CA server)\n" + " -t : Specify timestamp source(s) and type, with containing\n" + " 's' = CA server (remote) timestamps\n" + " 'c' = CA client (local) timestamps (shown in '()'s)\n" + " 'n' = no timestamps\n" + " 'r' = relative timestamps (time elapsed since start of program)\n" + " 'i' = incremental timestamps (time elapsed since last update)\n" + " 'I' = incremental timestamps (time since last update, by channel)\n" + " 'r', 'i' or 'I' require 's' or 'c' to select the time source\n" "Enum format:\n" - " -n: Print DBF_ENUM values as number (default are enum string values)\n" - "Arrays: Value format: print number of requested values, then list of values\n" - " Default: Print all values\n" - " -# : Print first elements of an array\n" - " -S: Print array of char as a string (long string)\n" - "Floating point type format:\n" - " Default: Use %%g format\n" - " -e : Use %%e format, with a precision of digits\n" - " -f : Use %%f format, with a precision of digits\n" - " -g : Use %%g format, with a precision of digits\n" - " -s: Get value as string (honors server-side precision)\n" - " -lx: Round to long integer and print as hex number\n" - " -lo: Round to long integer and print as octal number\n" - " -lb: Round to long integer and print as binary number\n" + " -n: Print DBF_ENUM values as number (default is enum string)\n" + "Array values: Print number of elements, then list of values\n" + " Default: Request and print all elements (dynamic arrays supported)\n" + " -# : Request and print up to elements\n" + " -S: Print arrays of char as a string (long string)\n" + "Floating point format:\n" + " Default: Use %%g format\n" + " -e : Use %%e format, with a precision of digits\n" + " -f : Use %%f format, with a precision of digits\n" + " -g : Use %%g format, with a precision of digits\n" + " -s: Get value as string (honors server-side precision)\n" + " -lx: Round to long integer and print as hex number\n" + " -lo: Round to long integer and print as octal number\n" + " -lb: Round to long integer and print as binary number\n" "Integer number format:\n" - " Default: Print as decimal number\n" - " -0x: Print as hex number\n" - " -0o: Print as octal number\n" - " -0b: Print as binary number\n" + " Default: Print as decimal number\n" + " -0x: Print as hex number\n" + " -0o: Print as octal number\n" + " -0b: Print as binary number\n" "Alternate output field separator:\n" - " -F : Use as an alternate output field separator\n" - "\nExample: camonitor -f8 my_channel another_channel\n" + " -F : Use to separate fields in output\n" + "\n" + "Example: camonitor -f8 my_channel another_channel\n" " (doubles are printed as %%f with precision of 8)\n\n" , DEFAULT_TIMEOUT, CA_PRIORITY_MAX); } diff --git a/src/ca/legacy/gdd/gdd.cc b/src/ca/legacy/gdd/gdd.cc index f2ef3cf9a..ea8e1ba5b 100644 --- a/src/ca/legacy/gdd/gdd.cc +++ b/src/ca/legacy/gdd/gdd.cc @@ -1109,7 +1109,7 @@ gddStatus gdd::clearData(void) str->clear(); } else if ( this->primitiveType() == aitEnumFixedString ) { - memset ( this->data.FString, '\0', sizeof ( this->data.FString ) ); + memset ( this->data.FString, '\0', sizeof(aitFixedString) ); } else { memset ( & this->data, '\0', sizeof ( this->data ) ); diff --git a/src/ioc/dbStatic/dbExpand.c b/src/ioc/dbStatic/dbExpand.c index 80c95cabd..5fac686d3 100644 --- a/src/ioc/dbStatic/dbExpand.c +++ b/src/ioc/dbStatic/dbExpand.c @@ -1,14 +1,13 @@ /*************************************************************************\ -* Copyright (c) 2002 The University of Chicago, as Operator of Argonne +* Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne * National Laboratory. * Copyright (c) 2002 The Regents of the University of California, as * Operator of Los Alamos National Laboratory. -* EPICS BASE Versions 3.13.7 -* and higher are distributed subject to a Software License Agreement found +* EPICS BASE is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ /* dbExpand.c */ -/* Author: Marty Kraimer Date: 30NOV95 */ +/* Author: Marty Kraimer Date: 30NOV95 */ #include #include @@ -25,24 +24,25 @@ #include "osiFileName.h" DBBASE *pdbbase = NULL; - + void usage(void) { - fprintf(stderr, "Usage:\n\tdbExpand -Ipath -ooutfile " - "-S macro=value file1.dbd file2.dbd ...\n"); + fprintf(stderr, "Usage:\n\tdbExpand -b -Ipath -ooutfile " + "-S macro=value file1.dbd file2.dbd ...\n"); fprintf(stderr,"Specifying any path will replace the default of '.'\n"); + fprintf(stderr,"The -b option enables relaxed breakpoint table checking\n"); } int main(int argc,char **argv) { - char *path = NULL; - char *sub = NULL; - int pathLength = 0; - int subLength = 0; + char *path = NULL; + char *sub = NULL; + int pathLength = 0; + int subLength = 0; char *outFilename = NULL; FILE *outFP = stdout; - long status; - long returnStatus = 0; + long status; + long returnStatus = 0; static char *pathSep = OSI_PATH_LIST_SEPARATOR; static char *subSep = ","; @@ -53,8 +53,8 @@ int main(int argc,char **argv) while ((argc > 1) && (**argv == '-')) { char optLtr = (*argv)[1]; char *optArg; - - if (strlen(*argv) > 2) { + + if (strlen(*argv) > 2 || optLtr == 'b') { optArg = *argv+2; ++argv; --argc; @@ -63,36 +63,40 @@ int main(int argc,char **argv) argv += 2; argc -= 2; } - + switch (optLtr) { case 'o': outFilename = optArg; break; - + case 'I': dbCatString(&path, &pathLength, optArg, pathSep); break; - + case 'S': dbCatString(&sub, &subLength, optArg, subSep); break; - + + case 'b': + dbBptNotMonotonic = 1; + break; + default: fprintf(stderr, "dbExpand: Unknown option '-%c'\n", optLtr); usage(); exit(1); } } - + if (argc < 1) { - fprintf(stderr, "dbExpand: No input file specified\n"); + fprintf(stderr, "dbExpand: No input file specified\n"); usage(); - exit(1); + exit(1); } - + for (; argc>0; --argc, ++argv) { - status = dbReadDatabase(&pdbbase,*argv,path,sub); - if (status) returnStatus = status; + status = dbReadDatabase(&pdbbase,*argv,path,sub); + if (status) returnStatus = status; } if (returnStatus) { errlogFlush(); @@ -106,7 +110,7 @@ int main(int argc,char **argv) exit(1); } } - + dbWriteMenuFP(pdbbase,outFP,0); dbWriteRecordTypeFP(pdbbase,outFP,0); dbWriteDeviceFP(pdbbase,outFP); @@ -116,7 +120,7 @@ int main(int argc,char **argv) dbWriteVariableFP(pdbbase,outFP); dbWriteBreaktableFP(pdbbase,outFP); dbWriteRecordFP(pdbbase,outFP,0,0); - + free((void *)path); free((void *)sub); return 0; diff --git a/src/ioc/dbStatic/dbStaticLib.c b/src/ioc/dbStatic/dbStaticLib.c index a12c01e55..7b42704f5 100644 --- a/src/ioc/dbStatic/dbStaticLib.c +++ b/src/ioc/dbStatic/dbStaticLib.c @@ -3916,7 +3916,7 @@ void epicsShareAPI dbDumpField( else printf("\t field_type: %s\n", pamapdbfType[j].strvalue); printf("\tprocess_passive: %hd\n",pdbFldDes->process_passive); - printf("\t base: %hd\n",pdbFldDes->base); + printf("\t base: %d\n",pdbFldDes->base); if(!pdbFldDes->promptgroup) { printf("\t promptgroup: %d\n",pdbFldDes->promptgroup); } else { @@ -3929,7 +3929,7 @@ void epicsShareAPI dbDumpField( } } printf("\t interest: %hd\n", pdbFldDes->interest); - printf("\t as_level: %hd\n",pdbFldDes->as_level); + printf("\t as_level: %d\n",pdbFldDes->as_level); printf("\t initial: %s\n", (pdbFldDes->initial ? pdbFldDes->initial : "")); if(pdbFldDes->field_type==DBF_MENU) { diff --git a/src/ioc/dbStatic/dbStaticLib.h b/src/ioc/dbStatic/dbStaticLib.h index 5804cb99c..a6347252b 100644 --- a/src/ioc/dbStatic/dbStaticLib.h +++ b/src/ioc/dbStatic/dbStaticLib.h @@ -74,6 +74,8 @@ epicsShareFunc DBENTRY * epicsShareAPI dbCopyEntry(DBENTRY *pdbentry); epicsShareFunc void epicsShareAPI dbCopyEntryContents(DBENTRY *pfrom, DBENTRY *pto); +epicsShareExtern int dbBptNotMonotonic; + epicsShareFunc long epicsShareAPI dbReadDatabase(DBBASE **ppdbbase, const char *filename, const char *path, const char *substitutions); epicsShareFunc long epicsShareAPI dbReadDatabaseFP(DBBASE **ppdbbase, diff --git a/src/libCom/osi/Makefile b/src/libCom/osi/Makefile index 9a0c80c99..b2baad92c 100644 --- a/src/libCom/osi/Makefile +++ b/src/libCom/osi/Makefile @@ -86,8 +86,6 @@ Com_SRCS += osdInterrupt.c Com_SRCS += osdPoolStatus.c Com_SRCS += osdSignal.cpp -osdEnv_CFLAGS_WIN32= -U__STDC__ - Com_SRCS += osdEnv.c # Command-line input support diff --git a/src/libCom/osi/os/WIN32/osdTime.cpp b/src/libCom/osi/os/WIN32/osdTime.cpp index d69c4f157..fc35c7789 100644 --- a/src/libCom/osi/os/WIN32/osdTime.cpp +++ b/src/libCom/osi/os/WIN32/osdTime.cpp @@ -60,6 +60,8 @@ static int osdTimeGetCurrent ( epicsTimeStamp *pDest ); // for mingw #if !defined ( MAXLONGLONG ) #define MAXLONGLONG LL_CONSTANT(0x7fffffffffffffff) +#endif +#if !defined ( MINLONGLONG ) #define MINLONGLONG LL_CONSTANT(~0x7fffffffffffffff) #endif diff --git a/src/libCom/osi/os/posix/epicsMath.h b/src/libCom/osi/os/posix/epicsMath.h index b09c7024b..4ed0fdc51 100644 --- a/src/libCom/osi/os/posix/epicsMath.h +++ b/src/libCom/osi/os/posix/epicsMath.h @@ -17,6 +17,11 @@ extern "C" { #endif +#ifdef isfinite +# undef finite +# define finite(x) isfinite(x) +#endif + epicsShareExtern float epicsNAN; epicsShareExtern float epicsINF; diff --git a/src/std/softIoc/makeInstallDir.pl b/src/std/softIoc/makeInstallDir.pl index c9d6d2a75..96c305711 100644 --- a/src/std/softIoc/makeInstallDir.pl +++ b/src/std/softIoc/makeInstallDir.pl @@ -14,6 +14,8 @@ die "Path to INSTALL_LOCATION missing\n" unless @ARGV == 1; my $path = shift; $path =~ s/\\/\\\\/gx; +$path =~ s/^'//; +$path =~ s/'$//; print "/* THIS IS A GENERATED FILE. DO NOT EDIT! */\n", "\n",