File tree Expand file tree Collapse file tree 12 files changed +153
-0
lines changed Expand file tree Collapse file tree 12 files changed +153
-0
lines changed Original file line number Diff line number Diff line change
1
+ build /
2
+ .idea /
Original file line number Diff line number Diff line change
1
+ cmake_minimum_required (VERSION 3.25 )
2
+
3
+ project (buildroot_ports C )
4
+
5
+ if (NOT CMAKE_C_COMPILER_ID STREQUAL "GNU" )
6
+ message (FATAL_ERROR "To build the toolchain, you'll need GCC on your machine" )
7
+ endif ()
8
+
9
+ set (CMAKE_C_STANDARD 11 )
10
+
11
+ set (BUILDROOT_RELEASE "webos-71307ba" )
12
+ string (REGEX REPLACE ".*-" "" BUILDROOT_BUILD_ID "${BUILDROOT_RELEASE} " )
13
+ set (BUILDROOT_TRIPLE "arm-webos-linux-gnueabi" )
14
+
15
+ set (BUILDROOT_PORT_PREFIX "${CMAKE_BINARY_DIR} /br-prefix" )
16
+ set (BUILDROOT_PORT_DOWNLOADS "${CMAKE_BINARY_DIR} /downloads" )
17
+
18
+ set (GCC_MIRROR "http://ftp.tsukuba.wide.ad.jp/software/gcc" )
19
+
20
+ if (NOT DEFINED CMAKE_C_COMPILER_TARGET )
21
+ execute_process (COMMAND "${CMAKE_C_COMPILER} " "-v" ERROR_VARIABLE GCC_VERSION_INFO )
22
+ string (REGEX REPLACE ".*Target: ([^\n ]+).*" "\\ 1" CMAKE_C_COMPILER_TARGET "${GCC_VERSION_INFO} " )
23
+ endif ()
24
+
25
+ include (FetchContent )
26
+ include (ExternalProject )
27
+
28
+ FetchContent_Declare (
29
+ buildroot-nc4
30
+ GIT_REPOSITORY "https://github.com/openlgtv/buildroot-nc4.git"
31
+ GIT_TAG "${BUILDROOT_RELEASE} " )
32
+
33
+ FetchContent_MakeAvailable (buildroot-nc4 )
34
+
35
+ add_subdirectory (sysroot )
36
+ add_subdirectory (package )
37
+ add_subdirectory (toolchain )
Original file line number Diff line number Diff line change
1
+ # buildroot-nc4-ports
Original file line number Diff line number Diff line change
1
+ function (br_get_var PATH VAR OUT_VAR )
2
+ file (STRINGS "${buildroot-nc4_SOURCE_DIR}/${PATH} " FIND_LINE REGEX "^${VAR} = (.*)$" )
3
+ if (NOT FIND_LINE )
4
+ unset (${OUT_VAR} PARENT_SCOPE )
5
+ return ()
6
+ endif ()
7
+ string (REGEX REPLACE "^${VAR} = (.*)$" "\\ 1" VAR_VALUE "${FIND_LINE} " )
8
+ set (${OUT_VAR} "${VAR_VALUE} " PARENT_SCOPE )
9
+ endfunction ()
10
+
11
+ include (ProcessorCount )
12
+ ProcessorCount (NPROC )
13
+
14
+ add_subdirectory (gmp )
15
+ add_subdirectory (mpfr )
16
+ add_subdirectory (mpc )
17
+ add_subdirectory (isl )
18
+ add_subdirectory (binutils )
19
+ add_subdirectory (gcc )
Original file line number Diff line number Diff line change
1
+ set (BINUTILS_VERSION 2.38 )
2
+
3
+ set (PREFIX "${BUILDROOT_PORT_PREFIX} " )
4
+ set (SYSROOT "${PREFIX} /${BUILDROOT_TRIPLE} /sysroot" )
5
+
6
+ ExternalProject_Add (binutils DEPENDS sysroot
7
+ URL "https://ftp.gnu.org/gnu/binutils/binutils-${BINUTILS_VERSION} .tar.bz2"
8
+ DOWNLOAD_EXTRACT_TIMESTAMP FALSE
9
+ CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${PREFIX} --sysconfdir=${PREFIX}/etc --disable-multilib
10
+ --disable-werror --target=${BUILDROOT_TRIPLE} --disable-shared --enable-static --with-sysroot=${SYSROOT}
11
+ --enable-poison-system-directories --without-debuginfod --enable-plugins --enable-lto --disable-sim
12
+ --disable-gdb --enable-gold --disable-gprofng
13
+ BUILD_COMMAND make
14
+ INSTALL_COMMAND make install )
Original file line number Diff line number Diff line change
1
+ set (GCC_VERSION 12.2.0 )
2
+
3
+ set (PREFIX "${BUILDROOT_PORT_PREFIX} " )
4
+ set (SYSROOT "${PREFIX} /${BUILDROOT_TRIPLE} /sysroot" )
5
+
6
+ file (GLOB GCC_PATCHES "${buildroot-nc4_SOURCE_DIR}/package/gcc/12.2.0/*.patch" )
7
+ list (TRANSFORM GCC_PATCHES PREPEND "COMMAND;patch;-p1;<;" OUTPUT_VARIABLE GCC_PATCH_COMMANDS )
8
+
9
+ ExternalProject_Add (gcc DEPENDS binutils gmp mpc mpfr isl
10
+ URL "${GCC_MIRROR} /releases/gcc-${GCC_VERSION} /gcc-${GCC_VERSION} .tar.xz"
11
+ DOWNLOAD_EXTRACT_TIMESTAMP FALSE
12
+ PATCH_COMMAND ${GCC_PATCH_COMMANDS}
13
+ CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${PREFIX} --sysconfdir=${PREFIX}/etc --enable-static
14
+ --build=${CMAKE_C_COMPILER_TARGET} --target=${BUILDROOT_TRIPLE} --with-sysroot=${SYSROOT} --enable-__cxa_atexit
15
+ --with-gnu-ld --disable-libssp --disable-multilib --disable-decimal-float --enable-plugins --enable-lto
16
+ --with-gmp=${PREFIX} --with-mpc=${PREFIX} --with-mpfr=${PREFIX}
17
+ "--with-pkgversion=Buildroot -g${BUILDROOT_BUILD_ID} " "--with-bugurl=http://bugs.buildroot.net"
18
+ --without-zstd --disable-libquadmath --disable-libquadmath-support --enable-tls --enable-threads
19
+ --with-isl=${PREFIX} --with-abi=aapcs-linux --with-cpu=cortex-a9 --with-fpu=neon-fp16 --with-float=softfp
20
+ --with-mode=arm --enable-languages=c,c++ --with-build-time-tools=${PREFIX}/arm-webos-linux-gnueabi/bin
21
+ --enable-shared --disable-libgomp
22
+ BUILD_COMMAND make -j${NPROC}
23
+ INSTALL_COMMAND make install )
Original file line number Diff line number Diff line change
1
+ br_get_var ("package/gmp/gmp.mk" GMP_VERSION GMP_VERSION )
2
+
3
+ set (PREFIX ${BUILDROOT_PORT_PREFIX} )
4
+
5
+ ExternalProject_Add (gmp
6
+ URL "${GCC_MIRROR} /infrastructure/gmp-${GMP_VERSION} .tar.bz2"
7
+ DOWNLOAD_EXTRACT_TIMESTAMP FALSE
8
+ CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${PREFIX} --sysconfdir=${PREFIX}/etc
9
+ BUILD_COMMAND make -j${NPROC}
10
+ INSTALL_COMMAND make install )
Original file line number Diff line number Diff line change
1
+ set (ISL_VERSION 0.24 )
2
+
3
+ set (PREFIX ${BUILDROOT_PORT_PREFIX} )
4
+
5
+ ExternalProject_Add (isl DEPENDS gmp
6
+ URL "${GCC_MIRROR} /infrastructure/isl-${ISL_VERSION} .tar.bz2"
7
+ DOWNLOAD_EXTRACT_TIMESTAMP FALSE
8
+ CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${PREFIX} --sysconfdir=${PREFIX}/etc --with-gmp=${PREFIX}
9
+ BUILD_COMMAND make -j${NPROC}
10
+ INSTALL_COMMAND make install )
Original file line number Diff line number Diff line change
1
+ br_get_var ("package/mpc/mpc.mk" MPC_VERSION MPC_VERSION )
2
+
3
+ set (PREFIX ${BUILDROOT_PORT_PREFIX} )
4
+
5
+ ExternalProject_Add (mpc DEPENDS gmp mpfr
6
+ URL "${GCC_MIRROR} /infrastructure/mpc-${MPC_VERSION} .tar.gz"
7
+ DOWNLOAD_EXTRACT_TIMESTAMP FALSE
8
+ CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${PREFIX} --sysconfdir=${PREFIX}/etc --with-gmp=${PREFIX}
9
+ BUILD_COMMAND make -j${NPROC}
10
+ INSTALL_COMMAND make install )
Original file line number Diff line number Diff line change
1
+ br_get_var ("package/mpfr/mpfr.mk" MPFR_VERSION MPFR_VERSION )
2
+
3
+ set (PREFIX ${BUILDROOT_PORT_PREFIX} )
4
+
5
+ ExternalProject_Add (mpfr DEPENDS gmp
6
+ URL "${GCC_MIRROR} /infrastructure/mpfr-${MPFR_VERSION} .tar.bz2"
7
+ DOWNLOAD_EXTRACT_TIMESTAMP FALSE
8
+ CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${PREFIX} --sysconfdir=${PREFIX}/etc --with-gmp=${PREFIX}
9
+ BUILD_COMMAND make -j${NPROC}
10
+ INSTALL_COMMAND make install )
You can’t perform that action at this time.
0 commit comments