jbsrc/lib/src/core/jb-action.h (2604B) - raw
1 /*
2 * JB, the Jean-Yves Lefort's Build System
3 * Copyright (C) 2008 Jean-Yves Lefort <jylefort@brutele.be>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19
20 #ifndef _JB_ACTION_H
21 #define _JB_ACTION_H
22
23 #include <sys/types.h>
24 #include <sys/stat.h>
25 #include <glib.h>
26
27 /* package callbacks, should be defined in jbsrc/jb.c */
28 void jb_package_init (void);
29 void jb_package_configure (void);
30 void jb_package_add_resources (void);
31
32 void jb_action_help (void);
33 void jb_action_configure (void);
34 void jb_action_build (GSList *group_names);
35 void jb_action_install (GSList *group_names);
36 void jb_action_makedist (void);
37 void jb_action_clean (GSList *group_names);
38 void jb_action_distclean (GSList *group_names);
39 void jb_action_maintainerclean (GSList *group_names);
40
41 void jb_action_exec (const char *str, ...) G_GNUC_NULL_TERMINATED;
42
43 void jb_action_install_file (const char *srcfile,
44 const char *dstdir,
45 const char *owner,
46 const char *group,
47 mode_t mode);
48 void jb_action_install_to_file (const char *srcfile,
49 const char *dstfile,
50 const char *owner,
51 const char *group,
52 mode_t mode);
53
54 void jb_action_install_data (const char *srcfile, const char *dstdir);
55 void jb_action_install_data_to_file (const char *srcfile, const char *dstfile);
56 void jb_action_install_data_list (GSList *srcfiles, const char *dstdir);
57
58 void jb_action_install_program (const char *srcfile, const char *dstdir);
59 void jb_action_install_library (const char *srcfile, const char *dstdir);
60
61 void jb_action_rm (const char *file);
62 void jb_action_rm_array (char **files, int len);
63 void jb_action_rm_list (GSList *files);
64
65 void jb_action_rmdir (const char *dir);
66 void jb_action_rmdir_list (GSList *dirs);
67
68 void jb_action_add_to_dist (const char *file);
69 void jb_action_add_to_dist_list (GSList *files);
70 void jb_action_add_to_dist_string_list (const char *files);
71
72 const char *jb_action_get_distdir (void);
73
74 #endif /* _JB_ACTION_H */