From 7dfceceea692c4118829c06128c41623b2373ac2 Mon Sep 17 00:00:00 2001 From: Tim Ruffing Date: Thu, 2 Dec 2021 13:44:36 +0100 Subject: [PATCH] build: Remove #undef hack for ASM in the precomputation programs This was necessary because we used to cross-compile the library but compile the precomputation programs for the build host. Now it's no longer necessary and we can cleanly link even the external ASM (which was the intent of #935). On the way, remove an obsolete "-I" parameter. --- Makefile.am | 8 +++++++- src/gen_ecmult_gen_static_prec_table.c | 6 ------ src/gen_ecmult_static_pre_g.c | 6 ------ 3 files changed, 7 insertions(+), 13 deletions(-) diff --git a/Makefile.am b/Makefile.am index 2623b9e2..5a3bda48 100644 --- a/Makefile.am +++ b/Makefile.am @@ -119,7 +119,7 @@ endif if USE_EXHAUSTIVE_TESTS noinst_PROGRAMS += exhaustive_tests exhaustive_tests_SOURCES = src/tests_exhaustive.c -exhaustive_tests_CPPFLAGS = -I$(top_srcdir)/src $(SECP_INCLUDES) +exhaustive_tests_CPPFLAGS = $(SECP_INCLUDES) if !ENABLE_COVERAGE exhaustive_tests_CPPFLAGS += -DVERIFY endif @@ -131,8 +131,14 @@ endif ### Precomputed tables EXTRA_PROGRAMS = gen_ecmult_static_pre_g gen_ecmult_gen_static_prec_table CLEANFILES = $(EXTRA_PROGRAMS) + gen_ecmult_static_pre_g_SOURCES = src/gen_ecmult_static_pre_g.c +gen_ecmult_static_pre_g_CPPFLAGS = $(SECP_INCLUDES) +gen_ecmult_static_pre_g_LDADD = $(SECP_LIBS) $(COMMON_LIB) + gen_ecmult_gen_static_prec_table_SOURCES = src/gen_ecmult_gen_static_prec_table.c +gen_ecmult_gen_static_prec_table_CPPFLAGS = $(SECP_INCLUDES) +gen_ecmult_gen_static_prec_table_LDADD = $(SECP_LIBS) $(COMMON_LIB) # See Automake manual, Section "Errors with distclean". # We don't list any dependencies for the prebuilt files here because diff --git a/src/gen_ecmult_gen_static_prec_table.c b/src/gen_ecmult_gen_static_prec_table.c index 8236a52b..22923df3 100644 --- a/src/gen_ecmult_gen_static_prec_table.c +++ b/src/gen_ecmult_gen_static_prec_table.c @@ -7,12 +7,6 @@ #include #include -/* In principle we could use ASM, but this yields only a minor speedup in - build time and it's very complicated. In particular when cross-compiling, we'd - need to build the ASM for the build and the host machine. */ -#undef USE_EXTERNAL_ASM -#undef USE_ASM_X86_64 - #include "../include/secp256k1.h" #include "assumptions.h" #include "util.h" diff --git a/src/gen_ecmult_static_pre_g.c b/src/gen_ecmult_static_pre_g.c index af40d13f..ba1d1f17 100644 --- a/src/gen_ecmult_static_pre_g.c +++ b/src/gen_ecmult_static_pre_g.c @@ -13,12 +13,6 @@ #include "libsecp256k1-config.h" #endif -/* In principle we could use ASM, but this yields only a minor speedup in - build time and it's very complicated. In particular when cross-compiling, we'd - need to build the ASM for the build and the host machine. */ -#undef USE_EXTERNAL_ASM -#undef USE_ASM_X86_64 - #include "../include/secp256k1.h" #include "assumptions.h" #include "util.h"