feat(slam): add cartographer_ros

This commit is contained in:
X-lanni
2025-07-04 14:39:48 +08:00
parent df9cee5779
commit 5cf886315d
825 changed files with 92220 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
# Copyright 2018 The Cartographer Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Files required for building Pixman with Bazel.
licenses(["notice"])
exports_files(
[
"pixman.BUILD",
"config.h",
],
visibility = ["//visibility:public"],
)
+193
View File
@@ -0,0 +1,193 @@
/*
* Copyright 2018 The Cartographer Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* Define if building universal (internal helper macro) */
/* #undef AC_APPLE_UNIVERSAL_BUILD */
/* Whether we have alarm() */
#define HAVE_ALARM 1
/* Whether the compiler supports __builtin_clz */
#define HAVE_BUILTIN_CLZ /**/
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Whether we have feenableexcept() */
#define HAVE_FEENABLEEXCEPT 1
/* Define to 1 if we have <fenv.h> */
#define HAVE_FENV_H 1
/* Whether the tool chain supports __float128 */
#define HAVE_FLOAT128 /**/
/* Define to 1 if you have the `getisax' function. */
/* #undef HAVE_GETISAX */
/* Whether we have getpagesize() */
#define HAVE_GETPAGESIZE 1
/* Whether we have gettimeofday() */
#define HAVE_GETTIMEOFDAY 1
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the `pixman-1' library (-lpixman-1). */
/* #undef HAVE_LIBPIXMAN_1 */
/* Whether we have libpng */
#define HAVE_LIBPNG 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Whether we have mmap() */
#define HAVE_MMAP 1
/* Whether we have mprotect() */
#define HAVE_MPROTECT 1
/* Whether we have posix_memalign() */
#define HAVE_POSIX_MEMALIGN 1
/* Whether pthreads is supported */
#define HAVE_PTHREADS /**/
/* Whether we have sigaction() */
#define HAVE_SIGACTION 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if we have <sys/mman.h> */
#define HAVE_SYS_MMAN_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#define LT_OBJDIR ".libs/"
/* Name of package */
#define PACKAGE "pixman"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "pixman@lists.freedesktop.org"
/* Define to the full name of this package. */
#define PACKAGE_NAME "pixman"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "pixman 0.34.0"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "pixman"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "0.34.0"
/* enable TIMER_BEGIN/TIMER_END macros */
/* #undef PIXMAN_TIMERS */
/* The size of `long', as computed by sizeof. */
#define SIZEOF_LONG 8
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* The compiler supported TLS storage class */
#define TLS __thread
/* Whether the tool chain supports __attribute__((constructor)) */
#define TOOLCHAIN_SUPPORTS_ATTRIBUTE_CONSTRUCTOR /**/
/* use ARM IWMMXT compiler intrinsics */
/* #undef USE_ARM_IWMMXT */
/* use ARM NEON assembly optimizations */
/* #undef USE_ARM_NEON */
/* use ARM SIMD assembly optimizations */
/* #undef USE_ARM_SIMD */
/* use GNU-style inline assembler */
#define USE_GCC_INLINE_ASM 1
/* use Loongson Multimedia Instructions */
/* #undef USE_LOONGSON_MMI */
/* use MIPS DSPr2 assembly optimizations */
/* #undef USE_MIPS_DSPR2 */
/* use OpenMP in the test suite */
#define USE_OPENMP 1
/* use SSE2 compiler intrinsics */
/* #undef USE_SSE2 */
/* use SSSE3 compiler intrinsics */
/* #undef USE_SSSE3 */
/* use VMX compiler intrinsics */
/* #undef USE_VMX */
/* use x86 MMX compiler intrinsics */
/* #undef USE_X86_MMX */
/* Version number of package */
#define VERSION "0.34.0"
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
#if defined __BIG_ENDIAN__
#define WORDS_BIGENDIAN 1
#endif
#else
#ifndef WORDS_BIGENDIAN
/* # undef WORDS_BIGENDIAN */
#endif
#endif
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
/* #undef inline */
#endif
/* Define to sqrt if you do not have the `sqrtf' function. */
/* #undef sqrtf */
+87
View File
@@ -0,0 +1,87 @@
# Copyright 2018 The Cartographer Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Description:
# pixman is a library that provides low-level pixel manipulation features.
licenses(["notice"]) # X11/MIT
genrule(
name = "config_h",
srcs = ["@com_github_googlecartographer_cartographer//bazel/third_party/pixman:config.h"],
outs = ["pixman_internal/config.h"],
cmd = "cp $< $@",
)
COMMON_SRCS = [
"pixman/pixman.c",
"pixman/pixman-access.c",
"pixman/pixman-access-accessors.c",
"pixman/pixman-arm.c",
"pixman/pixman-bits-image.c",
"pixman/pixman-combine-float.c",
"pixman/pixman-combine32.c",
"pixman/pixman-conical-gradient.c",
"pixman/pixman-edge-accessors.c",
"pixman/pixman-edge.c",
"pixman/pixman-fast-path.c",
"pixman/pixman-filter.c",
"pixman/pixman-general.c",
"pixman/pixman-glyph.c",
"pixman/pixman-gradient-walker.c",
"pixman/pixman-image.c",
"pixman/pixman-implementation.c",
"pixman/pixman-linear-gradient.c",
"pixman/pixman-matrix.c",
"pixman/pixman-mips.c",
"pixman/pixman-noop.c",
"pixman/pixman-ppc.c",
"pixman/pixman-radial-gradient.c",
"pixman/pixman-region16.c",
"pixman/pixman-region32.c",
"pixman/pixman-solid-fill.c",
"pixman/pixman-timer.c",
"pixman/pixman-trap.c",
"pixman/pixman-utils.c",
"pixman/pixman-x86.c",
]
# TODO(rodrigoq): use MMX extensions where possible
cc_library(
name = "pixman",
srcs = COMMON_SRCS + [
"pixman/pixman-accessor.h",
"pixman/pixman-combine32.h",
"pixman/pixman-compiler.h",
"pixman/pixman-edge-imp.h",
"pixman/pixman-inlines.h",
"pixman/pixman-private.h",
"pixman/pixman-version.h",
"pixman/pixman.h",
"pixman_internal/config.h",
],
hdrs = [
"pixman/pixman-access.c",
"pixman/pixman-edge.c",
"pixman/pixman-region.c",
],
copts = [
"-Wno-unused-const-variable",
"-Wno-unused-local-typedefs",
"-DHAVE_CONFIG_H",
"-I$(GENDIR)/external/org_cairographics_pixman/pixman_internal",
],
includes = ["pixman"],
visibility = ["//visibility:public"],
)