You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-commits@hadoop.apache.org by dh...@apache.org on 2009/11/09 08:37:53 UTC
svn commit: r833987 - in /hadoop/hdfs/trunk: CHANGES.txt build.xml
Author: dhruba
Date: Mon Nov 9 07:37:52 2009
New Revision: 833987
URL: http://svn.apache.org/viewvc?rev=833987&view=rev
Log:
HDFS-712. Move libhdfs from mapreduce subproject to hdfs subproject.
(Eli Collins via dhruba)
Modified:
hadoop/hdfs/trunk/CHANGES.txt
hadoop/hdfs/trunk/build.xml
Modified: hadoop/hdfs/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hdfs/trunk/CHANGES.txt?rev=833987&r1=833986&r2=833987&view=diff
==============================================================================
--- hadoop/hdfs/trunk/CHANGES.txt (original)
+++ hadoop/hdfs/trunk/CHANGES.txt Mon Nov 9 07:37:52 2009
@@ -41,6 +41,9 @@
HDFS-733. TestBlockReport fails intermittently. (cos)
+ HDFS-712. Move libhdfs from mapreduce subproject to hdfs subproject.
+ (Eli Collins via dhruba)
+
Release 0.21.0 - Unreleased
INCOMPATIBLE CHANGES
Modified: hadoop/hdfs/trunk/build.xml
URL: http://svn.apache.org/viewvc/hadoop/hdfs/trunk/build.xml?rev=833987&r1=833986&r2=833987&view=diff
==============================================================================
--- hadoop/hdfs/trunk/build.xml (original)
+++ hadoop/hdfs/trunk/build.xml Mon Nov 9 07:37:52 2009
@@ -42,6 +42,8 @@
<property name="contrib.dir" value="${basedir}/src/contrib"/>
<property name="docs.src" value="${basedir}/src/docs"/>
<property name="changes.src" value="${docs.src}/changes"/>
+ <property name="c++.src" value="${basedir}/src/c++"/>
+ <property name="c++.libhdfs.src" value="${c++.src}/libhdfs"/>
<property name="build.dir" value="${basedir}/build"/>
<property name="build-fi.dir" value="${basedir}/build-fi"/>
@@ -58,12 +60,15 @@
value="${nonspace.os}-${os.arch}-${sun.arch.data.model}"/>
<property name="jvm.arch"
value="${sun.arch.data.model}"/>
+ <property name="build.c++" value="${build.dir}/c++-build/${build.platform}"/>
+ <property name="build.c++.libhdfs" value="${build.c++}/libhdfs"/>
<property name="build.docs" value="${build.dir}/docs"/>
<property name="build.javadoc" value="${build.docs}/api"/>
<property name="build.javadoc.timestamp" value="${build.javadoc}/index.html" />
<property name="build.javadoc.dev" value="${build.docs}/dev-api"/>
<property name="build.encoding" value="ISO-8859-1"/>
+ <property name="install.c++" value="${build.dir}/c++/${build.platform}"/>
<property name="test.src.dir" value="${basedir}/src/test"/>
<property name="test.lib.dir" value="${basedir}/src/test/lib"/>
@@ -92,6 +97,9 @@
<property name="test.hdfs.commit.tests.file" value="${test.src.dir}/commit-tests" />
<property name="test.hdfs.all.tests.file" value="${test.src.dir}/all-tests" />
+ <property name="test.libhdfs.conf.dir" value="${c++.libhdfs.src}/tests/conf"/>
+ <property name="test.libhdfs.dir" value="${test.build.dir}/libhdfs"/>
+
<property name="web.src.dir" value="${basedir}/src/web"/>
<property name="src.webapps" value="${basedir}/src/webapps"/>
@@ -309,7 +317,7 @@
<target name="compile-core" depends="clover, compile-hdfs-classes" description="Compile"/>
- <target name="compile-contrib" depends="compile-core">
+ <target name="compile-contrib" depends="compile-core,compile-c++-libhdfs">
<subant target="compile">
<property name="version" value="${version}"/>
<fileset file="${contrib.dir}/build.xml"/>
@@ -570,7 +578,7 @@
<fail if="testsfailed">Tests failed!</fail>
</target>
- <target name="test" depends="jar-test, test-core" description="Run all unit tests">
+ <target name="test" depends="test-c++-libhdfs, jar-test, test-core" description="Run all unit tests">
<subant target="test-contrib">
<fileset file="${basedir}/build.xml"/>
</subant>
@@ -1005,6 +1013,74 @@
</subant>
</target>
+ <target name="test-c++-libhdfs" depends="compile-c++-libhdfs, compile-core" if="islibhdfs">
+ <delete dir="${test.libhdfs.dir}"/>
+ <mkdir dir="${test.libhdfs.dir}"/>
+ <mkdir dir="${test.libhdfs.dir}/logs"/>
+ <mkdir dir="${test.libhdfs.dir}/hdfs/name"/>
+
+ <exec dir="${build.c++.libhdfs}" executable="${make.cmd}" failonerror="true">
+ <env key="OS_NAME" value="${os.name}"/>
+ <env key="OS_ARCH" value="${os.arch}"/>
+ <env key="JVM_ARCH" value="${jvm.arch}"/>
+ <env key="LIBHDFS_BUILD_DIR" value="${build.c++.libhdfs}"/>
+ <env key="HADOOP_HOME" value="${basedir}"/>
+ <env key="HADOOP_CONF_DIR" value="${test.libhdfs.conf.dir}"/>
+ <env key="HADOOP_LOG_DIR" value="${test.libhdfs.dir}/logs"/>
+ <env key="LIBHDFS_SRC_DIR" value="${c++.libhdfs.src}"/>
+ <env key="LIBHDFS_INSTALL_DIR" value="${install.c++}/lib"/>
+ <env key="LIB_DIR" value="${common.ivy.lib.dir}"/>
+ <arg value="test"/>
+ </exec>
+ </target>
+
+ <target name="create-c++-configure" depends="init" if="compile.c++">
+ <antcall target="create-c++-configure-libhdfs"/>
+ </target>
+
+ <target name="create-c++-configure-libhdfs" depends="check-c++-libhdfs" if="islibhdfs">
+ <exec executable="autoreconf" dir="${c++.libhdfs.src}"
+ searchpath="yes" failonerror="yes">
+ <arg value="-if"/>
+ </exec>
+ </target>
+
+ <target name="check-c++-libhdfs">
+ <condition property="islibhdfs">
+ <and>
+ <isset property="compile.c++"/>
+ <isset property="libhdfs"/>
+ </and>
+ </condition>
+ </target>
+
+ <target name="check-c++-makefile-libhdfs" depends="init,check-c++-libhdfs" if="islibhdfs">
+ <condition property="need.c++.libhdfs.makefile">
+ <not> <available file="${build.c++.libhdfs}/Makefile"/> </not>
+ </condition>
+ </target>
+
+ <target name="create-c++-libhdfs-makefile" depends="check-c++-makefile-libhdfs"
+ if="need.c++.libhdfs.makefile">
+ <mkdir dir="${build.c++.libhdfs}"/>
+ <chmod file="${c++.libhdfs.src}/configure" perm="ugo+x"/>
+ <exec executable="${c++.libhdfs.src}/configure" dir="${build.c++.libhdfs}"
+ failonerror="yes">
+ <env key="ac_cv_func_malloc_0_nonnull" value="yes"/>
+ <env key="JVM_ARCH" value="${jvm.arch}"/>
+ <arg value="--prefix=${install.c++}"/>
+ </exec>
+ </target>
+
+ <target name="compile-c++-libhdfs" depends="create-c++-libhdfs-makefile" if="islibhdfs">
+ <exec executable="${make.cmd}" dir="${build.c++.libhdfs}" searchpath="yes"
+ failonerror="yes">
+ <env key="ac_cv_func_malloc_0_nonnull" value="yes"/>
+ <env key="JVM_ARCH" value="${jvm.arch}"/>
+ <arg value="install"/>
+ </exec>
+ </target>
+
<target name="compile-ant-tasks" depends="compile-core">
<javac
encoding="${build.encoding}"