This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

threads and NPTL, step by step


  at the risk of flogging this horse further, i want to step through
the build stages and get feedback on various build and configure
options at each stage, to see where i've messed up and to help me
(and, ideally, others) understand what's required at each stage.

  the goal is to build an NPTL-aware toolchain, and here's what i've
got in my mini script so far (we'll do this a little at a time).

  first, installing the kernel headers and building and installing
binutils:

--- code ---

do_kernel_headers() {
	echo "Stage:  kernel headers."

	rm -rf ${HEADERS_DIR}
	mkdir -p ${HEADERS_DIR}

	HEADERS_SRC_DIR=${UNPACK_DIR}/linux-libc-headers-${HEADERS_VERSION}
	cp -r ${HEADERS_SRC_DIR}/include/linux ${HEADERS_DIR}
	cp -r ${HEADERS_SRC_DIR}/include/asm-${ARCH} ${HEADERS_DIR}/asm
}

do_kernel_headers

do_binutils() {
	echo "Stage:  binutils."

	BINUTILS_SRC_DIR=${UNPACK_DIR}/binutils-${BINUTILS_VERSION}

	rm -rf ${BUILD_DIR}/build-binutils
	mkdir -p ${BUILD_DIR}/build-binutils

	cd ${BUILD_DIR}/build-binutils
	${BINUTILS_SRC_DIR}/configure \
		--host=${HOST} \
		--target=${TARGET} \
		--prefix=${PREFIX} \
		--with-sysroot=${SYSROOT_DIR} \
		--disable-nls

	make all install

}

do_binutils

--- end code ---

  note that there's *nothing* in those steps that needs to be aware
that we're building with NPTL, right?

  however, what about installing the glibc headers?  this is what i
have so far, is it correct?  have i misconfigured it for what i'm
after?

--- code ---

do_glibc_headers() {
	echo "Stage:  glibc headers."

	GLIBC_SRC_DIR=${UNPACK_DIR}/glibc-${GLIBC_VERSION}

	rm -rf ${BUILD_DIR}/build-glibc-headers
	mkdir -p ${BUILD_DIR}/build-glibc-headers

	cd ${BUILD_DIR}/build-glibc-headers

    	CC=gcc \
	${GLIBC_SRC_DIR}/configure \
		--build=${HOST} \
		--host=${TARGET} \
		--prefix=/usr \
		--without-cvs \
		--with-headers=${HEADERS_DIR} \
		--with-tls \
		--with-__thread \
		--enable-add-ons=nptl

	make \
		cross_compiling=yes \
		install_root=${SYSROOT_DIR} \
		CFLAGS=-DBOOTSTRAP_GCC \
		install-headers

}

do_glibc_headers

--- end code ---

  thoughts before we go any further?  can i simplify this even more?
what i'm after is the *simplest* recipe for doing this that's still
correct.

rday

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]