You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Kai Zheng (JIRA)" <ji...@apache.org> on 2015/05/29 01:56:17 UTC

[jira] [Created] (HADOOP-12039) Build native codes modularly even in a component

Kai Zheng created HADOOP-12039:
----------------------------------

             Summary: Build native codes modularly even in a component
                 Key: HADOOP-12039
                 URL: https://issues.apache.org/jira/browse/HADOOP-12039
             Project: Hadoop Common
          Issue Type: Improvement
            Reporter: Kai Zheng
            Assignee: Kai Zheng


It might be good to be able to build native codes in modular approach instead of coupling all things together. For example, in Hadoop common side, it has to build for compression, encryption and new erasure coding feature. This desires to separate the aspects, have separate cmake file and make, base on HADOOP-12036, thus avoiding the following too lengthy make target:
{code}
                <id>make</id>
                <phase>compile</phase>
                <goals><goal>run</goal></goals>
                <configuration>
                  <target>
                    <exec executable="cmake" dir="${project.build.directory}/native" failonerror="true">
                      <arg line="${basedir}/src/ -DGENERATED_JAVAH=${project.build.directory}/native/javah -DJVM_ARCH_DATA_MODEL=${sun.arch.data.model} -DREQUIRE_BZIP2=${require.bzip2} -DREQUIRE_SNAPPY=${require.snappy} -DCUSTOM_SNAPPY_PREFIX=${snappy.prefix} -DCUSTOM_SNAPPY_LIB=${snappy.lib} -DCUSTOM_SNAPPY_INCLUDE=${snappy.include} -DREQUIRE_OPENSSL=${require.openssl} -DCUSTOM_OPENSSL_PREFIX=${openssl.prefix} -DCUSTOM_OPENSSL_LIB=${openssl.lib} -DCUSTOM_OPENSSL_INCLUDE=${openssl.include} -DEXTRA_LIBHADOOP_RPATH=${extra.libhadoop.rpath}"/>
                    </exec>
                    <exec executable="make" dir="${project.build.directory}/native" failonerror="true">
                      <arg line="VERBOSE=1"/>
                    </exec>
                    <exec executable="make" dir="${project.build.directory}/native" failonerror="true"></exec>
                  </target>
                </configuration>
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)