Browse Source

Use precompiled headers for libsnark

Ian Goldberg 4 years ago
parent
commit
12c989ed60
7 changed files with 33 additions and 13 deletions
  1. 11 2
      Makefile
  2. 1 1
      ecgadget.hpp
  3. 1 0
      libsnark_headers.hpp
  4. 1 5
      pedersen.cpp
  5. 9 0
      pedersen.hpp
  6. 1 5
      scalarmul.cpp
  7. 9 0
      scalarmul.hpp

+ 11 - 2
Makefile

@@ -6,8 +6,17 @@ DEFINES=-UBINARY_OUTPUT -DBN_SUPPORT_SNARK=1 -DCURVE_BN128 -UMONTGOMERY_OUTPUT -
 CXXFLAGS=$(DEFINES) -I$(LIBSNARK) -I$(LIBSNARK)/depends/libfqfft -I$(LIBSNARK)/depends/libff -std=c++11 -Wall -Wextra -Wfatal-errors -pthread -ggdb3 -O2 -march=native -mtune=native -O2 -g -DNDEBUG
 LDFLAGS=-L$(LIBSNARK)/build -L$(LIBSNARK)/build/libsnark -L$(LIBSNARK)/build/depends -L$(LIBSNARK)/build/depends/libff/libff -lsnark -lff -lzm -lgmp -lgmpxx -lprocps
 
-pedersen: pedersen.cpp ecgadget.hpp
+pedersen: pedersen.cpp ecgadget.hpp libsnark_headers.hpp.gch pedersen.hpp.gch
 	g++ $(CXXFLAGS) -o pedersen pedersen.cpp $(LDFLAGS)
 
-scalarmul: scalarmul.cpp ecgadget.hpp
+scalarmul: scalarmul.cpp ecgadget.hpp libsnark_headers.hpp.gch scalarmul.hpp.gch
 	g++ $(CXXFLAGS) -o scalarmul scalarmul.cpp $(LDFLAGS)
+
+libsnark_headers.hpp.gch: libsnark_headers.hpp
+	g++ $(CXXFLAGS) $<
+
+pedersen.hpp.gch: pedersen.hpp
+	g++ $(CXXFLAGS) $<
+
+scalarmul.hpp.gch: scalarmul.hpp
+	g++ $(CXXFLAGS) $<

+ 1 - 1
ecgadget.hpp

@@ -1,4 +1,4 @@
-#include "libsnark/gadgetlib1/gadgets/basic_gadgets.hpp"
+#include "libsnark_headers.hpp"
 
 using namespace libsnark;
 

+ 1 - 0
libsnark_headers.hpp

@@ -0,0 +1 @@
+#include "libsnark/gadgetlib1/gadgets/basic_gadgets.hpp"

+ 1 - 5
pedersen.cpp

@@ -2,12 +2,8 @@
 #include <iostream>
 #include <fstream>
 
-#include "libff/algebra/fields/field_utils.hpp"
-#include "libsnark/zk_proof_systems/ppzksnark/r1cs_ppzksnark/r1cs_ppzksnark.hpp"
-#include "libsnark/common/default_types/r1cs_ppzksnark_pp.hpp"
-#include "libsnark/gadgetlib1/pb_variable.hpp"
-
 #include "ecgadget.hpp"
+#include "pedersen.hpp"
 
 using namespace libsnark;
 using namespace std;

+ 9 - 0
pedersen.hpp

@@ -0,0 +1,9 @@
+#ifndef __PEDERSEN_HPP__
+#define __PEDERSEN_HPP__
+
+#include "libff/algebra/fields/field_utils.hpp"
+#include "libsnark/zk_proof_systems/ppzksnark/r1cs_gg_ppzksnark/r1cs_gg_ppzksnark.hpp"
+#include "libsnark/common/default_types/r1cs_gg_ppzksnark_pp.hpp"
+#include "libsnark/gadgetlib1/pb_variable.hpp"
+
+#endif

+ 1 - 5
scalarmul.cpp

@@ -2,12 +2,8 @@
 #include <iostream>
 #include <fstream>
 
-#include "libff/algebra/fields/field_utils.hpp"
-#include "libsnark/zk_proof_systems/ppzksnark/r1cs_ppzksnark/r1cs_ppzksnark.hpp"
-#include "libsnark/common/default_types/r1cs_ppzksnark_pp.hpp"
-#include "libsnark/gadgetlib1/pb_variable.hpp"
-
 #include "ecgadget.hpp"
+#include "scalarmul.hpp"
 
 using namespace libsnark;
 using namespace std;

+ 9 - 0
scalarmul.hpp

@@ -0,0 +1,9 @@
+#ifndef __SCALARMUL_H__
+#define __SCALARMUL_H__
+
+#include "libff/algebra/fields/field_utils.hpp"
+#include "libsnark/zk_proof_systems/ppzksnark/r1cs_gg_ppzksnark/r1cs_gg_ppzksnark.hpp"
+#include "libsnark/common/default_types/r1cs_gg_ppzksnark_pp.hpp"
+#include "libsnark/gadgetlib1/pb_variable.hpp"
+
+#endif