Skip to content

Commit

Permalink
depends: add gmp package
Browse files Browse the repository at this point in the history
  • Loading branch information
theuni authored and sipa committed Nov 18, 2014
1 parent cf61b54 commit ff1e5ba
Show file tree
Hide file tree
Showing 4 changed files with 81 additions and 1 deletion.
30 changes: 30 additions & 0 deletions depends/packages/gmp.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package=gmp
$(package)_version=6.0.0a
$(package)_download_path=https://gmplib.org/download/gmp
$(package)_file_name=$(package)-$($(package)_version).tar.bz2
$(package)_sha256_hash=7f8e9a804b9c6d07164cf754207be838ece1219425d64e28cfa3e70d5c759aaf
$(package)_patches=arm_gmp_build_fix.patch darwin_gmp_build_fix.patch

define $(package)_preprocess_cmds
patch -p1 < $($(package)_patch_dir)/arm_gmp_build_fix.patch && \
patch -p1 < $($(package)_patch_dir)/darwin_gmp_build_fix.patch
endef

define $(package)_set_vars
$(package)_config_opts=--disable-shared CC_FOR_BUILD=$(build_CC)
$(package)_config_opts_x86_64_darwin=--with-pic
$(package)_config_opts_x86_64_linux=--with-pic
$(package)_config_opts_arm_linux=--with-pic
endef

define $(package)_config_cmds
$($(package)_autoconf)
endef

define $(package)_build_cmds
$(MAKE)
endef

define $(package)_stage_cmds
$(MAKE) DESTDIR=$($(package)_staging_dir) install
endef
2 changes: 1 addition & 1 deletion depends/packages/packages.mk
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
packages:=boost openssl
packages:=boost openssl gmp
native_packages := native_ccache native_comparisontool

qt_native_packages = native_protobuf
Expand Down
21 changes: 21 additions & 0 deletions depends/patches/gmp/arm_gmp_build_fix.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@

# HG changeset patch
# User Torbjorn Granlund <[email protected]>
# Date 1396602422 -7200
# Node ID 676e2d0f0e4dd301a7066079d2c9326c25c34a40
# Parent 0194a75b56b21a9196626430af86c5bd9110c42d
Conditionalise ARM asm on !__thumb__.

diff -r 0194a75b56b2 -r 676e2d0f0e4d mpn/generic/div_qr_1n_pi1.c
--- a/mpn/generic/div_qr_1n_pi1.c Thu Apr 03 23:58:51 2014 +0200
+++ b/mpn/generic/div_qr_1n_pi1.c Fri Apr 04 11:07:02 2014 +0200
@@ -130,7 +130,7 @@
"%2" ((UDItype)(a0)), "r" ((UDItype)(b0)) __CLOBBER_CC)
#endif

-#if defined (__arm__) && W_TYPE_SIZE == 32
+#if defined (__arm__) && !defined (__thumb__) && W_TYPE_SIZE == 32
#define add_mssaaaa(m, sh, sl, ah, al, bh, bl) \
__asm__ ( "adds %2, %5, %6\n\t" \
"adcs %1, %3, %4\n\t" \

29 changes: 29 additions & 0 deletions depends/patches/gmp/darwin_gmp_build_fix.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@

# HG changeset patch
# User Torbjorn Granlund <[email protected]>
# Date 1396470504 -7200
# Node ID 1fab0adc5ff7d9ecddcbda96f407da58347bb49c
# Parent db645603dcdb41afcf78b19b551ecd5a01c3841c
Workaround for Darwin assembler quirk.

diff -r db645603dcdb -r 1fab0adc5ff7 mpn/x86_64/k8/redc_1.asm
--- a/mpn/x86_64/k8/redc_1.asm Mon Mar 31 23:04:32 2014 +0200
+++ b/mpn/x86_64/k8/redc_1.asm Wed Apr 02 22:28:24 2014 +0200
@@ -114,7 +114,7 @@

JUMPTABSECT
ALIGN(8)
-L(tab): JMPENT( L(0m4), L(tab))
+L(tab): JMPENT( L(0), L(tab))
JMPENT( L(1), L(tab))
JMPENT( L(2), L(tab))
JMPENT( L(3), L(tab))
@@ -397,6 +397,7 @@


ALIGN(16)
+L(0):
L(0m4):
L(lo0): mov (mp,nneg,8), %rax
mov nneg, i

0 comments on commit ff1e5ba

Please sign in to comment.