This is the mail archive of the
cygwin-apps@cygwin.com
mailing list for the Cygwin project.
Re: Setup patch: List command line options on stdout
On Thu, Nov 18, 2004 at 10:32:29AM +0100, Reini Urban wrote:
>Christopher Faylor schrieb:
>>On Wed, Nov 17, 2004 at 08:53:41PM +0100, Reini Urban wrote:
>>
>>>Christopher Faylor schrieb:
>>>
>>>>On Wed, Nov 17, 2004 at 10:10:58AM +0100, Reini Urban wrote:
>>>>
>>>>
>>>>>Dave schrieb:
>>>>>
>>>>>
>>>>>>Here's a simple and useful patch for setup. Might reduce queries about
>>>>>>unattended installs, and save people having to resort to source.
>>>>>>
>>>>>>Patch is against CVS (as of yesterday).
>>>>>>Modify the leader text as you see fit :)
>>>>>>
>>>>>>------------------------------------------------------------------------
>>>>>>
>>>>>>--- main.cc~ 2004-10-25 19:34:32.000000000 +0100
>>>>>>+++ main.cc 2004-11-16 19:21:14.000000000 +0000
>>>>>>@@ -471,7 +471,11 @@
>>>>>>
>>>>>> if (HelpOption)
>>>>>> {
>>>>>>-
>>>>>>GetOption::GetInstance().ParameterUsage(log(LOG_PLAIN)<<"\nCommand
>>>>>>Line Options:\n");
>>>>>>+ log(LOG_PLAIN)<<"\nOutput command line options\n";
>>>>>>+ std::cout << "setup [options]\n\n"
>>>>>>+ << "Cygwin setup installs and maintains cygwin packages\n\n"
>>>>>>+ << "Command Line options:\n";
>>>>>>+ GetOption::GetInstance().ParameterUsage(std::cout);
>>>>>> theLog->exit(0);
>>>>>> }
>>>>>
>>>>>you should really check if the parent isatty.
>>>>>nevertheless I consider this hack useful.
>>>>
>>>>
>>>>Actually, there was a thread about this on the cygwin list not too long
>>>>ago.
>>>
>>>Yep. This suggested a complicated trick. I found an easier one.
>>>I just detect if the console title ends with "setup.exe"
>>>(case-insensitive). If so it's new and can be hidden.
>>>
>>>
>>>>Applications linked with -mwindows (i.e., GUI apps) can't print to
>>>>stdout. How does this actually work, in that case? Is this expecting
>>>>to display something on the console?
>>>
>>>I added a patch to switch to the console subsystem and hide this concole
>>>if it was a fresh new console. Otherwise, if called from a console or if
>>>called with -h leave the console.
>>>
>>>Patch see http://sourceware.org/bugzilla/show_bug.cgi?id=556
>>
>>I really don't understand why we should stand on our heads to make
>>setup.exe a console subsystem program (you don't need to both specify
>>-mwindows and -Wl,--subsystem=console, btw)
>
>Unfortunately we need -mwindows.
No. We don't. What do you think -mwindows implies?
From the gcc spec file:
*link:
%{mwindows:--subsystem windows} %{mconsole:--subsystem console}
A program can only be subsystm windows or console. It can't be both.
It is a bug in ld and in gcc that you are able to supply both.
>>... when you can just open up a dialog box to display the options,
>>like every other windows program in the world.
>
>Like our beloved debug log messages in about 200 messageboxes? This is
>imho the wrong way.
Implying that someone made an incredibly stupid point when there was
no hint of any intent in that regard is a particularly odious "usenet"
discussion technique.
I did not say that all log messages should show up in message boxes. I
said that you should use dialog boxes to display option help and that
is it.
cgf