Movatterモバイル変換


[0]ホーム

URL:


summaryrefslogtreecommitdiff
path:root/README-hacking
blob: c6529ac2c1a29ef34b26688763f952b3d45729c3 (plain)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
Building from a Git repository-*- outline -*-These notes intend to help people working on the checked-out sources.These requirements do not apply when building from a distribution tarball.If this package has a file HACKING, please also read that file formore detailed contribution guidelines.* RequirementsWe've opted to keep only the highest-level sources in the Git repository.This eases our maintenance burden (fewer merges etc.), but imposes morerequirements on anyone wishing to build from the just-checked-out sources.(The requirements to build from a release are much less and are justthe requirements of the standard './configure && make' procedure.)Specific development tools and versions will be checked for and listed bythe bootstrap script.  See README-prereq for specific notes on obtainingthese prerequisite tools.Valgrind <https://valgrind.org/> is also highly recommended, ifValgrind supports your architecture.  See also README-valgrind(if present).While building from a just-cloned source tree may require installing afew prerequisites, later, a plain 'git pull && make' typically suffices.* First Git checkoutYou can get a copy of the source repository like this:        $ git clone https://git.savannah.gnu.org/git/<packagename>        $ cd <packagename>where '<packagename>' stands for 'coreutils' or whatever other packageyou are building.To use the most-recent Gnulib (as opposed to the Gnulib version thatthe package last synchronized to), do this next:        $ git submodule foreach git pull origin master        $ git commit -m 'build: update gnulib submodule to latest' gnulibAs an optional step, if you already have a copy of the Gnulib Gitrepository, then you can use it as a reference to reduce downloadtime and file system space requirements:        $ export GNULIB_REFDIR=/path/to/gnulibThe next steps are to get and check other files needed to build,and complete the build:        $ make -f cfg.mkFor reference the above command runs the following steps,which can be done individually if required to give more control:        $ ./bootstrap        $ ./configure --quiet #[--disable-gcc-warnings] [*]        $ make #[check]At this point, there should be no difference between your local copy,and the Git master copy:        $ git diffshould output no difference.Enjoy![*] By default GCC warnings are enabled when building from Git.If you get warnings with recent GCC and Glibc with defaultconfigure-time options, please report the warnings to the bugreporting address of this package instead of to bug-gnulib,even if the problem seems to originate in a Gnulib-provided file.If you get warnings with other configurations, you can run'./configure --disable-gcc-warnings' or 'make WERROR_CFLAGS='to build quietly or verbosely, respectively.-----* Submitting patchesIf you develop a fix or a new feature, please send it to theappropriate bug-reporting address as reported by the --help option ofeach program.  One way to do this is to use vc-dwim<https://www.gnu.org/software/vc-dwim/>), as follows.  Run the command "vc-dwim --initialize" from the top-level directory  of this package's git-cloned hierarchy.  Edit the (empty) ChangeLog file that this command creates, creating a  properly-formatted entry according to the GNU coding standards  <https://www.gnu.org/prep/standards/html_node/Change-Logs.html>.  Make your changes.  Run the command "vc-dwim" and make sure its output (the diff of all  your changes) looks good.  Run "vc-dwim --commit".  Run the command "git format-patch --stdout -1", and email its output  in, using the output's subject line.-----Copyright (C) 2002-2025 Free Software Foundation, Inc.This program is free software: you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation, either version 3 of the License, or(at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this program.  If not, see <https://www.gnu.org/licenses/>.

[8]ページ先頭

©2009-2025 Movatter.jp