From: Jo-Philipp Wich <jow@openwrt.org>
Date: Tue, 13 Jan 2015 07:48:52 +0000 (+0000)
Subject: tools: add dummy scripts for help2man and makeinfo
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=6dec519be7a9814d6c93aa8cfb9bcb025708b1b1;p=openwrt%2Fsvn-archive%2Fopenwrt.git

tools: add dummy scripts for help2man and makeinfo

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 43957
---

diff --git a/tools/Makefile b/tools/Makefile
index 07752231f0..c50881965e 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -44,7 +44,7 @@ tools-$(CONFIG_USE_SPARSE) += sparse
 $(curdir)/bison/compile := $(curdir)/flex/install
 $(curdir)/flex/compile := $(curdir)/libtool/install
 $(curdir)/pkg-config/compile := $(curdir)/sed/install
-$(curdir)/libtool/compile := $(curdir)/sed/install $(curdir)/m4/install $(curdir)/autoconf/install $(curdir)/automake/install
+$(curdir)/libtool/compile := $(curdir)/sed/install $(curdir)/m4/install $(curdir)/autoconf/install $(curdir)/automake/install $(curdir)/missing-macros/install
 $(curdir)/squashfs/compile := $(curdir)/lzma-old/install
 $(curdir)/squashfs4/compile := $(curdir)/xz/install
 $(curdir)/quilt/compile := $(curdir)/sed/install $(curdir)/autoconf/install $(curdir)/findutils/install
@@ -64,7 +64,7 @@ $(curdir)/upslug2/compile := $(curdir)/libtool/install
 $(curdir)/mm-macros/compile := $(curdir)/libtool/install
 $(curdir)/xorg-macros/compile := $(curdir)/libtool/install
 $(curdir)/xfce-macros/compile := $(curdir)/libtool/install
-$(curdir)/missing-macros/compile := $(curdir)/libtool/install
+$(curdir)/missing-macros/compile := $(curdir)/autoconf/install
 $(curdir)/e2fsprogs/compile := $(curdir)/libtool/install
 $(curdir)/libelf/compile := $(curdir)/libtool/install
 $(curdir)/sdcc/compile := $(curdir)/bison/install
diff --git a/tools/missing-macros/Makefile b/tools/missing-macros/Makefile
index ab50a67468..e4b69b3875 100644
--- a/tools/missing-macros/Makefile
+++ b/tools/missing-macros/Makefile
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2010-2011 OpenWrt.org
+# Copyright (C) 2010-2015 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -21,6 +21,8 @@ endef
 define Host/Install
 	$(INSTALL_DIR) $(STAGING_DIR_HOST)/share/aclocal
 	$(INSTALL_DATA) ./src/m4/*.m4 $(STAGING_DIR_HOST)/share/aclocal/
+	$(INSTALL_DIR) $(STAGING_DIR_HOST)/bin
+	$(INSTALL_BIN) ./src/bin/* $(STAGING_DIR_HOST)/bin/
 endef
 
 $(eval $(call HostBuild))
diff --git a/tools/missing-macros/src/bin/help2man b/tools/missing-macros/src/bin/help2man
new file mode 100755
index 0000000000..6cbec57c50
--- /dev/null
+++ b/tools/missing-macros/src/bin/help2man
@@ -0,0 +1,29 @@
+#!/usr/bin/env perl
+
+use strict;
+use Getopt::Long;
+
+my $output;
+my $version;
+
+Getopt::Long::Configure('pass_through');
+Getopt::Long::GetOptions(
+	'output=s' => \$output,
+	'version'  => \$version
+);
+
+if ($version)
+{
+	printf "OpenWrt help2man 1.40.10\n";
+	exit 0;
+}
+elsif ($output)
+{
+	open O, "> $output" || die "Unable to open $output: $!\n";
+	print O "Dummy man page.\n";
+	close O;
+}
+else
+{
+	print O "Dummy man page.\n";
+}
diff --git a/tools/missing-macros/src/bin/makeinfo b/tools/missing-macros/src/bin/makeinfo
new file mode 100755
index 0000000000..e163cba084
--- /dev/null
+++ b/tools/missing-macros/src/bin/makeinfo
@@ -0,0 +1,112 @@
+#!/usr/bin/env perl
+
+use strict;
+use Getopt::Long;
+
+my $output;
+my $version;
+my $docbook;
+my $html;
+my $xml;
+my $plaintext;
+my $no_split;
+my $no_headers;
+
+Getopt::Long::Configure('pass_through');
+Getopt::Long::GetOptions(
+	'output=s'   => \$output,
+	'version'    => \$version,
+	'no-split'   => \$no_split,
+	'no-headers' => \$no_headers,
+	'docbook'    => \$docbook,
+	'html'       => \$html,
+	'xml'        => \$xml,
+	'plaintext'  => \$plaintext
+);
+
+if ($version)
+{
+	print "makeinfo (OpenWrt stub) 4.13\n";
+	exit 0;
+}
+
+
+sub output_filename
+{
+	my $path = shift || return;
+	my $name = $path;
+	my $setfile;
+
+	if (open F, "< $path")
+	{
+		while (defined(my $line = readline F))
+		{
+			if ($line =~ /\@setfilename\s+(\S+)/)
+			{
+				$setfile = $1;
+				$setfile =~ s!^.+/!!;
+				last;
+			}
+		}
+
+		close F;
+	}
+
+	$name =~ s!^.+/!!;
+	$name =~ s!\.[^.]+$!!;
+
+	if ($html)
+	{
+		$setfile =~ s!\.[^.]+$!! if $setfile;
+
+		if ($no_split)
+		{
+			return $setfile ? "$setfile.html" : "$name.html" unless $output;
+			return $output;
+		}
+
+		return $setfile ? "$setfile/index.html" : "$name/index.html" unless $output;
+		return "$output/index.html";
+	}
+	elsif ($xml || $docbook)
+	{
+		$setfile =~ s!\.[^.]+$!! if $setfile;
+
+		return $setfile ? "$setfile.xml" : "$name.info" unless $output;
+		return $output;
+	}
+	elsif ($plaintext)
+	{
+		return ($output || "-");	
+	}
+
+	return ($output || $setfile || "$name.info");
+}
+
+foreach my $arg (@ARGV)
+{
+	next unless -f $arg;
+
+	my $out = output_filename($arg);
+	if ($out =~ m!^(.+/)[^/]+$!)
+	{
+		system("mkdir", "-p", $1);
+	}
+
+	my $fd = \*STDOUT;
+	if ($out ne "-" && !$no_headers)
+	{
+		open $fd, "> $out" || die "Can't open $out: $!\n";
+	}
+
+	if ($html || $xml || $docbook)
+	{
+		print $fd "<!-- Dummy output for $arg -->\n";
+	}
+	else
+	{
+		print $fd "Dummy output for $arg\n";	
+	}
+
+	close $fd;
+}