export init.h to all languages
This commit is contained in:
@@ -88,6 +88,9 @@ $(GEN_DIR)/ortools/sat: | $(GEN_DIR)/ortools
|
||||
$(GEN_DIR)/ortools/util: | $(GEN_DIR)/ortools
|
||||
-$(MKDIR) $(GEN_PATH)$Sortools$Sutil
|
||||
|
||||
$(GEN_DIR)/ortools/init: | $(GEN_DIR)/ortools
|
||||
-$(MKDIR) $(GEN_PATH)$Sortools$Sinit
|
||||
|
||||
$(GEN_DIR)/examples: | $(GEN_DIR)
|
||||
-$(MKDIR) $(GEN_PATH)$Sexamples
|
||||
|
||||
|
||||
@@ -271,7 +271,27 @@ $(OBJ_DIR)/swig/sat_csharp_wrap.$O: \
|
||||
-c $(GEN_PATH)$Sortools$Ssat$Ssat_csharp_wrap.cc \
|
||||
$(OBJ_OUT)$(OBJ_DIR)$Sswig$Ssat_csharp_wrap.$O
|
||||
|
||||
$(GEN_DIR)/ortools/util/sorted_interval_list_csharp_wrap.cc: \
|
||||
$(GEN_DIR)/ortools/init/init_csharp_wrap.cc: \
|
||||
$(SRC_DIR)/ortools/base/base.i \
|
||||
$(SRC_DIR)/ortools/init/csharp/init.i \
|
||||
$(INIT_DEPS) \
|
||||
| $(GEN_DIR)/ortools/init
|
||||
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -csharp \
|
||||
-o $(GEN_PATH)$Sortools$Sinit$Sinit_csharp_wrap.cc \
|
||||
-module operations_research_init \
|
||||
-namespace $(DOTNET_ORTOOLS_ASSEMBLY_NAME).Init \
|
||||
-dllimport "$(DOTNET_ORTOOLS_NATIVE)" \
|
||||
-outdir $(GEN_PATH)$Sortools$Sinit \
|
||||
$(SRC_DIR)$Sortools$Sinit$Scsharp$Sinit.i
|
||||
|
||||
$(OBJ_DIR)/swig/init_csharp_wrap.$O: \
|
||||
$(GEN_DIR)/ortools/init/init_csharp_wrap.cc \
|
||||
| $(OBJ_DIR)/swig
|
||||
$(CCC) $(CFLAGS) \
|
||||
-c $(GEN_PATH)$Sortools$Sinit$Sinit_csharp_wrap.cc \
|
||||
$(OBJ_OUT)$(OBJ_DIR)$Sswig$Sinit_csharp_wrap.$O
|
||||
|
||||
$(GEN_DIR)/ortools/util/sorted_interval_list_csharp_wrap.cc: \
|
||||
$(SRC_DIR)/ortools/base/base.i \
|
||||
$(SRC_DIR)/ortools/util/csharp/sorted_interval_list.i \
|
||||
$(SRC_DIR)/ortools/util/csharp/proto.i \
|
||||
@@ -314,6 +334,7 @@ $(LIB_DIR)/$(DOTNET_ORTOOLS_NATIVE).$(SWIG_DOTNET_LIB_SUFFIX): \
|
||||
$(OBJ_DIR)/swig/knapsack_solver_csharp_wrap.$O \
|
||||
$(OBJ_DIR)/swig/graph_csharp_wrap.$O \
|
||||
$(OBJ_DIR)/swig/sorted_interval_list_csharp_wrap.$O \
|
||||
$(OBJ_DIR)/swig/init_csharp_wrap.$O \
|
||||
| $(LIB_DIR)
|
||||
$(DYNAMIC_LD) \
|
||||
$(LD_OUT)$(LIB_DIR)$S$(DOTNET_ORTOOLS_NATIVE).$(SWIG_DOTNET_LIB_SUFFIX) \
|
||||
@@ -322,7 +343,7 @@ $(LIB_DIR)/$(DOTNET_ORTOOLS_NATIVE).$(SWIG_DOTNET_LIB_SUFFIX): \
|
||||
$(OBJ_DIR)$Sswig$Sconstraint_solver_csharp_wrap.$O \
|
||||
$(OBJ_DIR)$Sswig$Sknapsack_solver_csharp_wrap.$O \
|
||||
$(OBJ_DIR)$Sswig$Sgraph_csharp_wrap.$O \
|
||||
$(OBJ_DIR)/swig/sorted_interval_list_csharp_wrap.$O \
|
||||
$(OBJ_DIR)/swig/init_csharp_wrap.$O \
|
||||
$(OR_TOOLS_LNK) \
|
||||
$(OR_TOOLS_LDFLAGS)
|
||||
|
||||
@@ -914,6 +935,8 @@ clean_dotnet:
|
||||
-$(DEL) $(GEN_PATH)$Sortools$Ssat$S*csharp_wrap*
|
||||
-$(DEL) $(GEN_PATH)$Sortools$Sutil$S*.cs
|
||||
-$(DEL) $(GEN_PATH)$Sortools$Sutil$S*csharp_wrap*
|
||||
-$(DEL) $(GEN_PATH)$Sortools$Sinit$S*.cs
|
||||
-$(DEL) $(GEN_PATH)$Sortools$Sinit$S*csharp_wrap*
|
||||
-$(DEL) $(OBJ_DIR)$Sswig$S*_csharp_wrap.$O
|
||||
-$(DEL) $(LIB_DIR)$S$(DOTNET_ORTOOLS_NATIVE).*
|
||||
-$(DEL) $(BIN_DIR)$S$(DOTNET_ORTOOLS_ASSEMBLY_NAME).*
|
||||
|
||||
@@ -352,6 +352,10 @@ $(OBJ_DIR)/util/optional_boolean.pb.$O: \
|
||||
$(GEN_DIR)/ortools/util/optional_boolean.pb.cc | $(OBJ_DIR)/util
|
||||
$(CCC) $(CFLAGS) -c $(GEN_PATH)$Sortools$Sutil$Soptional_boolean.pb.cc $(OBJ_OUT)$(OBJ_DIR)$Sutil$Soptional_boolean.pb.$O
|
||||
|
||||
INIT_DEPS = \
|
||||
$(SRC_DIR)/ortools/init/init.h \
|
||||
|
||||
|
||||
DATA_DEPS = \
|
||||
$(SRC_DIR)/ortools/data/jobshop_scheduling_parser.h \
|
||||
$(SRC_DIR)/ortools/data/rcpsp_parser.h \
|
||||
|
||||
@@ -92,6 +92,9 @@ $(GEN_DIR)/java/com/google/ortools/linearsolver:
|
||||
$(GEN_DIR)/java/com/google/ortools/flatzinc:
|
||||
-$(MKDIR_P) $(GEN_PATH)$Sjava$Scom$Sgoogle$Sortools$Sflatzinc
|
||||
|
||||
$(GEN_DIR)/java/com/google/ortools/init:
|
||||
$(MKDIR_P) $(GEN_PATH)$Sjava$Scom$Sgoogle$Sortools$Sinit
|
||||
|
||||
$(GEN_DIR)/java/com/google/ortools/sat:
|
||||
-$(MKDIR_P) $(GEN_PATH)$Sjava$Scom$Sgoogle$Sortools$Ssat
|
||||
|
||||
@@ -220,6 +223,26 @@ $(OBJ_DIR)/swig/sat_java_wrap.$O: \
|
||||
-c $(GEN_PATH)$Sortools$Ssat$Ssat_java_wrap.cc \
|
||||
$(OBJ_OUT)$(OBJ_DIR)$Sswig$Ssat_java_wrap.$O
|
||||
|
||||
$(GEN_DIR)/ortools/init/init_java_wrap.cc: \
|
||||
$(SRC_DIR)/ortools/init/java/init.i \
|
||||
$(SRC_DIR)/ortools/base/base.i \
|
||||
$(INIT_DEPS) \
|
||||
| $(GEN_DIR)/ortools/init $(GEN_DIR)/java/com/google/ortools/init
|
||||
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -java $(SWIG_DOXYGEN) \
|
||||
-o $(GEN_PATH)$Sortools$Sinit$Sinit_java_wrap.cc \
|
||||
-package com.google.ortools.init \
|
||||
-module main \
|
||||
-outdir $(GEN_PATH)$Sjava$Scom$Sgoogle$Sortools$Sinit \
|
||||
$(SRC_DIR)$Sortools$Sinit$Sjava$Sinit.i
|
||||
|
||||
$(OBJ_DIR)/swig/init_java_wrap.$O: \
|
||||
$(GEN_DIR)/ortools/init/init_java_wrap.cc \
|
||||
$(INIT_DEPS) \
|
||||
| $(OBJ_DIR)/swig
|
||||
$(CCC) $(JNIFLAGS) $(JAVA_INC) \
|
||||
-c $(GEN_PATH)$Sortools$Sinit$Sinit_java_wrap.cc \
|
||||
$(OBJ_OUT)$(OBJ_DIR)$Sswig$Sinit_java_wrap.$O
|
||||
|
||||
$(GEN_DIR)/ortools/util/util_java_wrap.cc: \
|
||||
$(SRC_DIR)/ortools/util/java/sorted_interval_list.i \
|
||||
$(SRC_DIR)/ortools/base/base.i \
|
||||
@@ -246,6 +269,7 @@ $(JAVA_ORTOOLS_NATIVE_LIBS): \
|
||||
$(OBJ_DIR)/swig/knapsack_solver_java_wrap.$O \
|
||||
$(OBJ_DIR)/swig/graph_java_wrap.$O \
|
||||
$(OBJ_DIR)/swig/linear_solver_java_wrap.$O \
|
||||
$(OBJ_DIR)/swig/init_java_wrap.$O \
|
||||
$(OBJ_DIR)/swig/sat_java_wrap.$O \
|
||||
$(OBJ_DIR)/swig/util_java_wrap.$O
|
||||
$(DYNAMIC_LD) $(LD_OUT)$(LIB_DIR)$S$(LIB_PREFIX)jniortools.$(JNI_LIB_EXT) \
|
||||
@@ -253,6 +277,7 @@ $(JAVA_ORTOOLS_NATIVE_LIBS): \
|
||||
$(OBJ_DIR)$Sswig$Sknapsack_solver_java_wrap.$O \
|
||||
$(OBJ_DIR)$Sswig$Sgraph_java_wrap.$O \
|
||||
$(OBJ_DIR)$Sswig$Slinear_solver_java_wrap.$O \
|
||||
$(OBJ_DIR)$Sswig$Sinit_java_wrap.$O \
|
||||
$(OBJ_DIR)$Sswig$Ssat_java_wrap.$O \
|
||||
$(OBJ_DIR)$Sswig$Sutil_java_wrap.$O \
|
||||
$(OR_TOOLS_LNK) \
|
||||
@@ -858,6 +883,7 @@ clean_java:
|
||||
-$(DEL) $(GEN_PATH)$Sortools$Slinear_solver$S*java_wrap*
|
||||
-$(DEL) $(GEN_PATH)$Sortools$Ssat$S*java_wrap*
|
||||
-$(DEL) $(GEN_PATH)$Sortools$Sutil$S*java_wrap*
|
||||
-$(DEL) $(GEN_PATH)$Sortools$Sinit$S*java_wrap*
|
||||
-$(DEL) $(OBJ_DIR)$Sswig$S*_java_wrap.$O
|
||||
-$(DEL) $(LIB_DIR)$S$(LIB_PREFIX)jni*.$(JNI_LIB_EXT)
|
||||
-$(DEL) $(LIB_DIR)$S*.jar
|
||||
|
||||
@@ -46,6 +46,7 @@ PYLP_LIBS = $(LIB_DIR)/_pywraplp.$(SWIG_PYTHON_LIB_SUFFIX)
|
||||
PYSAT_LIBS = $(LIB_DIR)/_pywrapsat.$(SWIG_PYTHON_LIB_SUFFIX)
|
||||
PYDATA_LIBS = $(LIB_DIR)/_pywraprcpsp.$(SWIG_PYTHON_LIB_SUFFIX)
|
||||
PYSORTED_INTERVAL_LIST_LIBS = $(LIB_DIR)/_sorted_interval_list.$(SWIG_PYTHON_LIB_SUFFIX)
|
||||
PYINIT_LIBS = $(LIB_DIR)/_init.$(SWIG_PYTHON_LIB_SUFFIX)
|
||||
PYTHON_OR_TOOLS_LIBS = \
|
||||
$(GEN_DIR)/ortools/__init__.py \
|
||||
$(PYALGORITHMS_LIBS) \
|
||||
@@ -54,7 +55,8 @@ PYTHON_OR_TOOLS_LIBS = \
|
||||
$(PYLP_LIBS) \
|
||||
$(PYSAT_LIBS) \
|
||||
$(PYDATA_LIBS) \
|
||||
$(PYSORTED_INTERVAL_LIST_LIBS)
|
||||
$(PYSORTED_INTERVAL_LIST_LIBS) \
|
||||
$(PYINIT_LIBS)
|
||||
|
||||
# Main target
|
||||
.PHONY: python # Build Python OR-Tools.
|
||||
@@ -494,6 +496,49 @@ else
|
||||
cp $(PYSORTED_INTERVAL_LIST_LIBS) $(GEN_PATH)/ortools/util
|
||||
endif
|
||||
|
||||
# init
|
||||
ifeq ($(PLATFORM),MACOSX)
|
||||
PYINIT_LDFLAGS = -install_name @rpath/_init.$(SWIG_PYTHON_LIB_SUFFIX) #
|
||||
endif
|
||||
|
||||
$(GEN_DIR)/ortools/init/init.py: \
|
||||
$(SRC_DIR)/ortools/init/init.h \
|
||||
$(SRC_DIR)/ortools/base/base.i \
|
||||
$(SRC_DIR)/ortools/util/python/vector.i \
|
||||
$(SRC_DIR)/ortools/init/python/init.i \
|
||||
$(INIT_DEPS) \
|
||||
| $(GEN_DIR)/ortools/init
|
||||
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -python $(SWIG_DOXYGEN) $(SWIG_PYTHON3_FLAG) \
|
||||
-o $(GEN_PATH)$Sortools$Sinit$Sinit_python_wrap.cc \
|
||||
-module init \
|
||||
$(SRC_DIR)$Sortools$Sinit$Spython$Sinit.i
|
||||
|
||||
$(GEN_DIR)/ortools/init/init_python_wrap.cc: \
|
||||
$(GEN_DIR)/ortools/init/init.py
|
||||
|
||||
$(OBJ_DIR)/swig/init_python_wrap.$O: \
|
||||
$(GEN_DIR)/ortools/init/init_python_wrap.cc \
|
||||
$(INIT_DEPS) \
|
||||
| $(OBJ_DIR)/swig
|
||||
$(CCC) $(CFLAGS) $(PYTHON_INC) $(PYTHON3_CFLAGS) \
|
||||
-c $(GEN_PATH)$Sortools$Sinit$Sinit_python_wrap.cc \
|
||||
$(OBJ_OUT)$(OBJ_DIR)$Sswig$Sinit_python_wrap.$O
|
||||
|
||||
$(PYINIT_LIBS): $(OBJ_DIR)/swig/init_python_wrap.$O $(OR_TOOLS_LIBS)
|
||||
$(DYNAMIC_LD) \
|
||||
$(PYINIT_LDFLAGS) \
|
||||
$(LD_OUT)$(LIB_DIR)$S_init.$(SWIG_PYTHON_LIB_SUFFIX) \
|
||||
$(OBJ_DIR)$Sswig$Sinit_python_wrap.$O \
|
||||
$(OR_TOOLS_LNK) \
|
||||
$(SYS_LNK) \
|
||||
$(PYTHON_LNK) \
|
||||
$(PYTHON_LDFLAGS)
|
||||
ifeq ($(SYSTEM),win)
|
||||
copy $(LIB_DIR)$S_init.$(SWIG_PYTHON_LIB_SUFFIX) $(GEN_PATH)\\ortools\\init\\_init.pyd
|
||||
else
|
||||
cp $(PYINIT_LIBS) $(GEN_PATH)/ortools/init
|
||||
endif
|
||||
|
||||
#######################
|
||||
## Python SOURCE ##
|
||||
#######################
|
||||
@@ -1132,6 +1177,11 @@ clean_python:
|
||||
-$(DELREC) ortools$Sutil$S__pycache__
|
||||
-$(DEL) $(GEN_PATH)$Sortools$Sutil$S*_python_wrap.*
|
||||
-$(DEL) $(GEN_PATH)$Sortools$Sutil$S_*
|
||||
-$(DEL) $(GEN_PATH)$Sortools$Sinit$S*.py
|
||||
-$(DEL) $(GEN_PATH)$Sortools$Sinit$S*.pyc
|
||||
-$(DELREC) $(GEN_PATH)$Sortools$Sinit$S__pycache__
|
||||
-$(DEL) $(GEN_PATH)$Sortools$Sinit$S*_python_wrap.*
|
||||
-$(DEL) $(GEN_PATH)$Sortools$Sinit$S_*
|
||||
-$(DEL) $(LIB_DIR)$S_*.$(SWIG_PYTHON_LIB_SUFFIX)
|
||||
-$(DEL) $(OBJ_DIR)$Sswig$S*python_wrap.$O
|
||||
-$(DELREC) temp_python*
|
||||
|
||||
19
ortools/init/csharp/init.i
Normal file
19
ortools/init/csharp/init.i
Normal file
@@ -0,0 +1,19 @@
|
||||
%include "ortools/base/base.i"
|
||||
|
||||
%include "std_string.i"
|
||||
|
||||
%{
|
||||
#include "ortools/init/init.h"
|
||||
%}
|
||||
|
||||
%ignoreall
|
||||
|
||||
%unignore operations_research;
|
||||
|
||||
%unignore operations_research::Init;
|
||||
%unignore operations_research::Init::InitCppLogging;
|
||||
%unignore operations_research::Init::LoadGurobiSharedLibrary;
|
||||
|
||||
%include "ortools/init/init.h"
|
||||
|
||||
%unignoreall
|
||||
@@ -1,9 +1,11 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "absl/flags/flag.h"
|
||||
#include "ortools/base/logging.h"
|
||||
#include "ortools/gurobi/environment.h"
|
||||
|
||||
|
||||
namespace operations_research {
|
||||
|
||||
// This class performs various C++ initialization.
|
||||
@@ -14,17 +16,16 @@ class Init {
|
||||
// If logtostderr is false, all C++ logging will be ignored.
|
||||
// If true, all logging will the displayed on stderr.
|
||||
static void InitCppLogging(const std::string& program_name, bool logtostderr) {
|
||||
absl::SetFlags(&FLAGS_logtostderr, logtostderr);
|
||||
InitLogging(program_name.c_str());
|
||||
absl::SetFlag(&FLAGS_logtostderr, logtostderr);
|
||||
google::InitGoogleLogging(program_name.c_str());
|
||||
}
|
||||
|
||||
// Load the gurobi shared library.
|
||||
// This is necessary if the library is installed in a non canonical
|
||||
// directory, or if for any reason, it is not found.
|
||||
// You need to pass the full path, including the shared library file.
|
||||
// You can pass multiple paths. They will be tried in order.
|
||||
static void LoadGurobiSharedLibrary(const std::vector<std::string>& possible_paths) {
|
||||
LoadGurobiDynamicLibrary(possible_paths);
|
||||
static void LoadGurobiSharedLibrary(const std::string& full_library_path) {
|
||||
LoadGurobiDynamicLibrary({full_library_path});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
19
ortools/init/java/init.i
Normal file
19
ortools/init/java/init.i
Normal file
@@ -0,0 +1,19 @@
|
||||
%include "ortools/base/base.i"
|
||||
|
||||
%include "std_string.i"
|
||||
|
||||
%{
|
||||
#include "ortools/init/init.h"
|
||||
%}
|
||||
|
||||
%ignoreall
|
||||
|
||||
%unignore operations_research;
|
||||
|
||||
%unignore operations_research::Init;
|
||||
%rename (initCppLogging) operations_research::Init::InitCppLogging;
|
||||
%rename (logGurobiSharedLibrary) operations_research::Init::LoadGurobiSharedLibrary;
|
||||
|
||||
%include "ortools/init/init.h"
|
||||
|
||||
%unignoreall
|
||||
19
ortools/init/python/init.i
Normal file
19
ortools/init/python/init.i
Normal file
@@ -0,0 +1,19 @@
|
||||
%include "ortools/base/base.i"
|
||||
|
||||
%include "std_string.i"
|
||||
|
||||
%{
|
||||
#include "ortools/init/init.h"
|
||||
%}
|
||||
|
||||
%ignoreall
|
||||
|
||||
%unignore operations_research;
|
||||
|
||||
%unignore operations_research::Init;
|
||||
%unignore operations_research::Init::InitCppLogging;
|
||||
%unignore operations_research::Init::LoadGurobiSharedLibrary;
|
||||
|
||||
%include "ortools/init/init.h"
|
||||
|
||||
%unignoreall
|
||||
Reference in New Issue
Block a user