* Sync with the trunk.
This commit is contained in:
commit
0efc986ba1
4 changed files with 148 additions and 12 deletions
17
externals/Makefile.am
vendored
17
externals/Makefile.am
vendored
|
@ -1,16 +1,18 @@
|
||||||
# CWI ATerm
|
# CWI ATerm
|
||||||
|
|
||||||
ATERM = aterm-2.4.2-fixes-r2
|
ATERM = aterm-2.5
|
||||||
|
|
||||||
$(ATERM).tar.bz2:
|
$(ATERM).tar.gz:
|
||||||
@echo "Nix requires the CWI ATerm library to build."
|
@echo "Nix requires the CWI ATerm library to build."
|
||||||
@echo "Please download version 2.4.2-fixes-r2 from"
|
@echo "Please download version 2.5 from"
|
||||||
@echo " http://nixos.org/tarballs/aterm-2.4.2-fixes-r2.tar.bz2"
|
@echo " http://nixos.org/tarballs/aterm-2.5.tar.gz"
|
||||||
@echo "and place it in the externals/ directory."
|
@echo "and place it in the externals/ directory."
|
||||||
false
|
false
|
||||||
|
|
||||||
$(ATERM): $(ATERM).tar.bz2
|
$(ATERM): $(ATERM).tar.gz
|
||||||
bunzip2 < $(srcdir)/$(ATERM).tar.bz2 | tar xvf -
|
gzip -d < $(srcdir)/$(ATERM).tar.gz | tar xvf -
|
||||||
|
patch -d $(ATERM) -p1 < ./max-long.patch
|
||||||
|
patch -d $(ATERM) -p1 < ./sizeof.patch
|
||||||
|
|
||||||
have-aterm:
|
have-aterm:
|
||||||
$(MAKE) $(ATERM)
|
$(MAKE) $(ATERM)
|
||||||
|
@ -25,6 +27,7 @@ build-aterm: have-aterm
|
||||||
CC="$(CC)" ./configure --prefix=$$pfx/inst-aterm \
|
CC="$(CC)" ./configure --prefix=$$pfx/inst-aterm \
|
||||||
--disable-shared --enable-static && \
|
--disable-shared --enable-static && \
|
||||||
$(MAKE) && \
|
$(MAKE) && \
|
||||||
|
$(MAKE) check && \
|
||||||
$(MAKE) install)
|
$(MAKE) install)
|
||||||
touch build-aterm
|
touch build-aterm
|
||||||
endif
|
endif
|
||||||
|
@ -66,7 +69,7 @@ endif
|
||||||
|
|
||||||
all: build-aterm build-bzip2
|
all: build-aterm build-bzip2
|
||||||
|
|
||||||
EXTRA_DIST = $(ATERM).tar.bz2 $(BZIP2).tar.gz
|
EXTRA_DIST = $(ATERM).tar.gz $(BZIP2).tar.gz max-long.patch sizeof.patch
|
||||||
|
|
||||||
ext-clean:
|
ext-clean:
|
||||||
$(RM) -f have-aterm build-aterm have-bzip2 build-bzip2
|
$(RM) -f have-aterm build-aterm have-bzip2 build-bzip2
|
||||||
|
|
77
externals/max-long.patch
vendored
Normal file
77
externals/max-long.patch
vendored
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
diff -rc aterm-2.8-orig/aterm/hash.c aterm-2.8/aterm/hash.c
|
||||||
|
*** aterm-2.8-orig/aterm/hash.c 2008-11-10 13:54:22.000000000 +0100
|
||||||
|
--- aterm-2.8/aterm/hash.c 2009-01-27 18:14:14.000000000 +0100
|
||||||
|
***************
|
||||||
|
*** 93,146 ****
|
||||||
|
}
|
||||||
|
|
||||||
|
/*}}} */
|
||||||
|
- /*{{{ static long calc_long_max() */
|
||||||
|
- static long calc_long_max()
|
||||||
|
- {
|
||||||
|
- long try_long_max;
|
||||||
|
- long long_max;
|
||||||
|
- long delta;
|
||||||
|
-
|
||||||
|
- try_long_max = 1;
|
||||||
|
- do {
|
||||||
|
- long_max = try_long_max;
|
||||||
|
- try_long_max = long_max * 2;
|
||||||
|
- } while (try_long_max > 0);
|
||||||
|
-
|
||||||
|
- delta = long_max;
|
||||||
|
- while (delta > 1) {
|
||||||
|
- while (long_max + delta < 0) {
|
||||||
|
- delta /= 2;
|
||||||
|
- }
|
||||||
|
- long_max += delta;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- return long_max;
|
||||||
|
-
|
||||||
|
- }
|
||||||
|
- /*}}} */
|
||||||
|
/*{{{ static long calculateNewSize(sizeMinus1, nrdel, nrentries) */
|
||||||
|
|
||||||
|
static long calculateNewSize
|
||||||
|
(long sizeMinus1, long nr_deletions, long nr_entries)
|
||||||
|
{
|
||||||
|
-
|
||||||
|
- /* Hack: LONG_MAX (limits.h) is often unreliable, we need to find
|
||||||
|
- * out the maximum possible value of a signed long dynamically.
|
||||||
|
- */
|
||||||
|
- static long st_long_max = 0;
|
||||||
|
-
|
||||||
|
- /* the resulting length has the form 2^k-1 */
|
||||||
|
-
|
||||||
|
if (nr_deletions >= nr_entries/2) {
|
||||||
|
return sizeMinus1;
|
||||||
|
}
|
||||||
|
|
||||||
|
! if (st_long_max == 0) {
|
||||||
|
! st_long_max = calc_long_max();
|
||||||
|
! }
|
||||||
|
!
|
||||||
|
! if (sizeMinus1 > st_long_max / 2) {
|
||||||
|
! return st_long_max-1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (2*sizeMinus1)+1;
|
||||||
|
--- 93,109 ----
|
||||||
|
}
|
||||||
|
|
||||||
|
/*}}} */
|
||||||
|
/*{{{ static long calculateNewSize(sizeMinus1, nrdel, nrentries) */
|
||||||
|
|
||||||
|
static long calculateNewSize
|
||||||
|
(long sizeMinus1, long nr_deletions, long nr_entries)
|
||||||
|
{
|
||||||
|
if (nr_deletions >= nr_entries/2) {
|
||||||
|
return sizeMinus1;
|
||||||
|
}
|
||||||
|
|
||||||
|
! if (sizeMinus1 > LONG_MAX / 2) {
|
||||||
|
! return LONG_MAX-1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (2*sizeMinus1)+1;
|
56
externals/sizeof.patch
vendored
Normal file
56
externals/sizeof.patch
vendored
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
diff -rc -x '*~' aterm-2.5-orig/aterm/aterm.c aterm-2.5/aterm/aterm.c
|
||||||
|
*** aterm-2.5-orig/aterm/aterm.c 2007-02-27 23:41:31.000000000 +0100
|
||||||
|
--- aterm-2.5/aterm/aterm.c 2010-02-23 15:10:38.000000000 +0100
|
||||||
|
***************
|
||||||
|
*** 150,155 ****
|
||||||
|
--- 150,157 ----
|
||||||
|
if (initialized)
|
||||||
|
return;
|
||||||
|
|
||||||
|
+ assert(sizeof(long) == sizeof(void *));
|
||||||
|
+
|
||||||
|
/*{{{ Handle arguments */
|
||||||
|
|
||||||
|
for (lcv=1; lcv < argc; lcv++) {
|
||||||
|
diff -rc -x '*~' aterm-2.5-orig/aterm/encoding.h aterm-2.5/aterm/encoding.h
|
||||||
|
*** aterm-2.5-orig/aterm/encoding.h 2007-02-27 23:41:31.000000000 +0100
|
||||||
|
--- aterm-2.5/aterm/encoding.h 2010-02-23 15:36:05.000000000 +0100
|
||||||
|
***************
|
||||||
|
*** 10,24 ****
|
||||||
|
{
|
||||||
|
#endif/* __cplusplus */
|
||||||
|
|
||||||
|
! #if SIZEOF_LONG > 4
|
||||||
|
! #define AT_64BIT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
! #if SIZEOF_LONG != SIZEOF_VOID_P
|
||||||
|
! #error Size of long is not the same as the size of a pointer
|
||||||
|
#endif
|
||||||
|
|
||||||
|
! #if SIZEOF_INT > 4
|
||||||
|
#error Size of int is not 32 bits
|
||||||
|
#endif
|
||||||
|
|
||||||
|
--- 10,30 ----
|
||||||
|
{
|
||||||
|
#endif/* __cplusplus */
|
||||||
|
|
||||||
|
! #include <limits.h>
|
||||||
|
!
|
||||||
|
! #ifndef SIZEOF_LONG
|
||||||
|
! #if ULONG_MAX > 4294967295
|
||||||
|
! #define SIZEOF_LONG 8
|
||||||
|
! #else
|
||||||
|
! #define SIZEOF_LONG 4
|
||||||
|
! #endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
! #if SIZEOF_LONG > 4
|
||||||
|
! #define AT_64BIT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
! #if UINT_MAX > 4294967295
|
||||||
|
#error Size of int is not 32 bits
|
||||||
|
#endif
|
||||||
|
|
10
release.nix
10
release.nix
|
@ -31,8 +31,8 @@ let
|
||||||
|
|
||||||
# Include the ATerm and Bzip2 tarballs in the distribution.
|
# Include the ATerm and Bzip2 tarballs in the distribution.
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
stripHash ${aterm242fixes.src}
|
stripHash ${aterm.src}
|
||||||
cp -pv ${aterm242fixes.src} externals/$strippedName
|
cp -pv ${aterm.src} externals/$strippedName
|
||||||
|
|
||||||
stripHash ${bzip2.src}
|
stripHash ${bzip2.src}
|
||||||
cp -pv ${bzip2.src} externals/$strippedName
|
cp -pv ${bzip2.src} externals/$strippedName
|
||||||
|
@ -77,7 +77,7 @@ let
|
||||||
|
|
||||||
configureFlags = ''
|
configureFlags = ''
|
||||||
--disable-init-state
|
--disable-init-state
|
||||||
--with-aterm=${aterm242fixes} --with-bzip2=${bzip2}
|
--with-aterm=${aterm} --with-bzip2=${bzip2}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -98,7 +98,7 @@ let
|
||||||
|
|
||||||
configureFlags = ''
|
configureFlags = ''
|
||||||
--disable-init-state
|
--disable-init-state
|
||||||
--with-aterm=${aterm242fixes} --with-bzip2=${bzip2}
|
--with-aterm=${aterm} --with-bzip2=${bzip2}
|
||||||
--enable-static-nix
|
--enable-static-nix
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -123,7 +123,7 @@ let
|
||||||
|
|
||||||
configureFlags = ''
|
configureFlags = ''
|
||||||
--disable-init-state --disable-shared
|
--disable-init-state --disable-shared
|
||||||
--with-aterm=${aterm242fixes} --with-bzip2=${bzip2}
|
--with-aterm=${aterm} --with-bzip2=${bzip2}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
lcovFilter = ["*/boost/*" "*-tab.*"];
|
lcovFilter = ["*/boost/*" "*-tab.*"];
|
||||||
|
|
Loading…
Reference in a new issue