Fix the bazel build

Change-Id: I38c684b816b5e377aa873cf35d13b1181aa152db
diff --git a/bazel/ceres.bzl b/bazel/ceres.bzl
index c70341a..e60865e 100644
--- a/bazel/ceres.bzl
+++ b/bazel/ceres.bzl
@@ -31,7 +31,6 @@
 CERES_SRCS = ["internal/ceres/" + filename for filename in [
     "accelerate_sparse.cc",
     "array_utils.cc",
-    "blas.cc",
     "block_evaluate_preparer.cc",
     "block_jacobian_writer.cc",
     "block_jacobi_preconditioner.cc",
@@ -78,7 +77,6 @@
     "inner_product_computer.cc",
     "iterative_refiner.cc",
     "iterative_schur_complement_solver.cc",
-    "lapack.cc",
     "levenberg_marquardt_strategy.cc",
     "line_search.cc",
     "line_search_direction.cc",
@@ -174,11 +172,13 @@
                 "include/ceres/internal/*.h",
             ]) +
 
-            # This is an empty config, since the Bazel-based build does not
-            # generate a config.h from config.h.in. This is fine, since Bazel
-            # properly handles propagating -D defines to dependent targets.
+            # This is an empty config and export, since the
+            # Bazel-based build does not generate a
+            # config.h/export.h. This is fine, since Bazel properly
+            # handles propagating -D defines to dependent targets.
             native.glob([
                 "config/ceres/internal/config.h",
+                "config/ceres/internal/export.h",
             ]),
         copts = [
             "-I" + internal,
@@ -202,6 +202,9 @@
             "CERES_NO_LAPACK",
             "CERES_USE_EIGEN_SPARSE",
             "CERES_USE_CXX_THREADS",
+            "CERES_NO_CUDA",
+            "CERES_EXPORT=",
+            "CERES_NO_EXPORT=",
         ],
         includes = [
             "config",
diff --git a/config/ceres/internal/config.h b/config/ceres/internal/config.h
index 1cf034d..969e43b 100644
--- a/config/ceres/internal/config.h
+++ b/config/ceres/internal/config.h
@@ -1,5 +1,5 @@
 // Ceres Solver - A fast non-linear least squares minimizer
-// Copyright 2015 Google Inc. All rights reserved.
+// Copyright 2022 Google Inc. All rights reserved.
 // http://ceres-solver.org/
 //
 // Redistribution and use in source and binary forms, with or without
@@ -30,16 +30,14 @@
 
 // Default (empty) configuration options for Ceres.
 //
-// IMPORTANT: Most users of Ceres will not use this file, when
-//            compiling Ceres with CMake, CMake will configure a new
-//            config.h with the currently selected Ceres compile
-//            options in <BUILD_DIR>/config, which will be added to
-//            the include path for compilation, and installed with the
-//            public Ceres headers.  However, for some users of Ceres
-//            who compile without CMake (Android), this file ensures
-//            that Ceres will compile, with the user either specifying
-//            manually the Ceres compile options, or passing them
-//            directly through the compiler.
+// IMPORTANT: Most users of Ceres will not use this file, when compiling Ceres
+//            with CMake, CMake will configure a new config.h with the currently
+//            selected Ceres compile options in <BUILD_DIR>/config, which will
+//            be added to the include path for compilation, and installed with
+//            the public Ceres headers.  However, for some users of Ceres who
+//            compile without CMake (Bazel), this file ensures that Ceres will
+//            compile, with the user either specifying manually the Ceres
+//            compile options, or passing them directly through the compiler.
 
 #ifndef CERES_PUBLIC_INTERNAL_CONFIG_H_
 #define CERES_PUBLIC_INTERNAL_CONFIG_H_
diff --git a/config/ceres/internal/export.h b/config/ceres/internal/export.h
new file mode 100644
index 0000000..0d4495d
--- /dev/null
+++ b/config/ceres/internal/export.h
@@ -0,0 +1,46 @@
+// Ceres Solver - A fast non-linear least squares minimizer
+// Copyright 2022 Google Inc. All rights reserved.
+// http://ceres-solver.org/
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// * Redistributions of source code must retain the above copyright notice,
+//   this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above copyright notice,
+//   this list of conditions and the following disclaimer in the documentation
+//   and/or other materials provided with the distribution.
+// * Neither the name of Google Inc. nor the names of its contributors may be
+//   used to endorse or promote products derived from this software without
+//   specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+//
+// Author: alexs.mac@gmail.com (Alex Stewart)
+
+// Default (empty) configuration options for Ceres.
+//
+// IMPORTANT: Most users of Ceres will not use this file, when compiling Ceres
+//            with CMake, CMake will configure a new config.h with the currently
+//            selected Ceres compile options in <BUILD_DIR>/export, which will
+//            be added to the include path for compilation, and installed with
+//            the public Ceres headers.  However, for some users of Ceres who
+//            compile without CMake (Bazel), this file ensures that Ceres will
+//            compile, with the user either specifying manually the Ceres
+//            compile options, or passing them directly through the compiler.
+
+#ifndef CERES_PUBLIC_INTERNAL_EXPORT_H_
+#define CERES_PUBLIC_INTERNAL_EXPORT_H_
+
+
+#endif  // CERES_PUBLIC_INTERNAL_EXPORT_H_