kconfig/nconf.h
author Ray Donnelly <mingw.android@gmail.com>
Sat Sep 14 02:45:23 2013 +0100 (2013-09-14)
changeset 3231 69f5dc1ff327
permissions -rw-r--r--
configure: Add --with-gperf option

On OS X, Apple supply an old gperf (3.0.3) with xcode and
xcode commandline tools which causes build failures:

./zconf.hash.c:183:17: error: expected expression
{offsetof(struct kconf_id_strings_t, kconf_id_strings_str2),

.. upgrading to gperf 3.0.4 was sufficient to fix this,
so this option allows the user to specify the gperf
program that they wish to use.

To install gperf 3.0.4 from homebrew, I did:

brew tap homebrew/dupes
brew install homebrew/dupes/gperf

.. then passed --with-gperf=$BREWFIX/Cellar/gperf/3.0.4/bin/gperf
to configure

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
Message-Id: <CAOYw7dtCmcJ9WiqmQ81MmZeRPcV-tDOqe9=kRDW4uQGuZNd2Ng@mail.gmail.com>
Patchwork-Id: 274892
     1 /*
     2  * Copyright (C) 2008 Nir Tzachar <nir.tzachar@gmail.com?
     3  * Released under the terms of the GNU GPL v2.0.
     4  *
     5  * Derived from menuconfig.
     6  *
     7  */
     8 
     9 #include <ctype.h>
    10 #include <errno.h>
    11 #include <fcntl.h>
    12 #include <limits.h>
    13 #include <stdarg.h>
    14 #include <stdlib.h>
    15 #include <string.h>
    16 #include <unistd.h>
    17 #include <locale.h>
    18 #include <curses.h>
    19 #include <menu.h>
    20 #include <panel.h>
    21 #include <form.h>
    22 
    23 #include <stdio.h>
    24 #include <time.h>
    25 #include <sys/time.h>
    26 
    27 #include "ncurses.h"
    28 
    29 #define max(a, b) ({\
    30 		typeof(a) _a = a;\
    31 		typeof(b) _b = b;\
    32 		_a > _b ? _a : _b; })
    33 
    34 #define min(a, b) ({\
    35 		typeof(a) _a = a;\
    36 		typeof(b) _b = b;\
    37 		_a < _b ? _a : _b; })
    38 
    39 typedef enum {
    40 	NORMAL = 1,
    41 	MAIN_HEADING,
    42 	MAIN_MENU_BOX,
    43 	MAIN_MENU_FORE,
    44 	MAIN_MENU_BACK,
    45 	MAIN_MENU_GREY,
    46 	MAIN_MENU_HEADING,
    47 	SCROLLWIN_TEXT,
    48 	SCROLLWIN_HEADING,
    49 	SCROLLWIN_BOX,
    50 	DIALOG_TEXT,
    51 	DIALOG_MENU_FORE,
    52 	DIALOG_MENU_BACK,
    53 	DIALOG_BOX,
    54 	INPUT_BOX,
    55 	INPUT_HEADING,
    56 	INPUT_TEXT,
    57 	INPUT_FIELD,
    58 	FUNCTION_TEXT,
    59 	FUNCTION_HIGHLIGHT,
    60 	ATTR_MAX
    61 } attributes_t;
    62 extern attributes_t attributes[];
    63 
    64 typedef enum {
    65 	F_HELP = 1,
    66 	F_SYMBOL = 2,
    67 	F_INSTS = 3,
    68 	F_CONF = 4,
    69 	F_BACK = 5,
    70 	F_SAVE = 6,
    71 	F_LOAD = 7,
    72 	F_SEARCH = 8,
    73 	F_EXIT = 9,
    74 } function_key;
    75 
    76 void set_colors(void);
    77 
    78 /* this changes the windows attributes !!! */
    79 void print_in_middle(WINDOW *win,
    80 		int starty,
    81 		int startx,
    82 		int width,
    83 		const char *string,
    84 		chtype color);
    85 int get_line_length(const char *line);
    86 int get_line_no(const char *text);
    87 const char *get_line(const char *text, int line_no);
    88 void fill_window(WINDOW *win, const char *text);
    89 int btn_dialog(WINDOW *main_window, const char *msg, int btn_num, ...);
    90 int dialog_inputbox(WINDOW *main_window,
    91 		const char *title, const char *prompt,
    92 		const char *init, char *result, int result_len);
    93 void refresh_all_windows(WINDOW *main_window);
    94 void show_scroll_win(WINDOW *main_window,
    95 		const char *title,
    96 		const char *text);