Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Oleksii Turkot
CrystFEL
Commits
46a7ae42
Commit
46a7ae42
authored
Mar 03, 2010
by
Thomas White
Browse files
Stabilise DirAx stuff, and remove GLib dependency
parent
82792fbe
Changes
9
Hide whitespace changes
Inline
Side-by-side
config.h.in
View file @
46a7ae42
...
...
@@ -3,9 +3,6 @@
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
/* Define to 1 if GLib is available */
#undef HAVE_GLIB
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
...
...
configure
View file @
46a7ae42
...
...
@@ -641,8 +641,6 @@ am__EXEEXT_TRUE
LTLIBOBJS
HAVE_OPENCL_FALSE
HAVE_OPENCL_TRUE
HAVE_GLIB_FALSE
HAVE_GLIB_TRUE
HAVE_GTK_FALSE
HAVE_GTK_TRUE
GTK_LIBS
...
...
@@ -5139,10 +5137,9 @@ if test "${enable_gtk+set}" = set; then
enableval
=
$enable_gtk
;
fi
haveglib
=
false
havegtk
=
false
{
$as_echo
"
$as_me
:
$LINENO
: checking whether to use GTK
/GLib
"
>
&5
$as_echo_n
"checking whether to use GTK
/GLib
... "
>
&6
;
}
{
$as_echo
"
$as_me
:
$LINENO
: checking whether to use GTK"
>
&5
$as_echo_n
"checking whether to use GTK... "
>
&6
;
}
if
test
"x
$enable_gtk
"
!=
"xno"
;
then
{
$as_echo
"
$as_me
:
$LINENO
: result: yes"
>
&5
...
...
@@ -5381,13 +5378,7 @@ fi
$as_echo
"yes (version
$gtk_config_major_version
.
$gtk_config_minor_version
.
$gtk_config_micro_version
)"
>
&6
;
}
havegtk
=
true
haveglib
=
true
cat
>>
confdefs.h
<<
\
_ACEOF
#define HAVE_GLIB 1
_ACEOF
GTK_LIBS
=
"
$GTK_LIBS
-lgthread-2.0 -lutil"
GTK_LIBS
=
"
$GTK_LIBS
"
else
{
$as_echo
"
$as_me
:
$LINENO
: result: no"
>
&5
...
...
@@ -5495,14 +5486,6 @@ else
HAVE_GTK_FALSE
=
fi
if
test
x
$haveglib
=
xtrue
;
then
HAVE_GLIB_TRUE
=
HAVE_GLIB_FALSE
=
'#'
else
HAVE_GLIB_TRUE
=
'#'
HAVE_GLIB_FALSE
=
fi
if
test
x
$have_opencl
=
xtrue
;
then
HAVE_OPENCL_TRUE
=
HAVE_OPENCL_FALSE
=
'#'
...
...
@@ -5513,7 +5496,7 @@ fi
CFLAGS
=
"
$CFLAGS
$HDF5_CFLAGS
$GTK_CFLAGS
$GSL_CFLAGS
$OPENCL_CFLAGS
"
LIBS
=
"
$LIBS
$HDF5_LIBS
-lm -lz
$GSL_LIBS
$GTK_LIBS
$OPENCL_LIBS
"
LIBS
=
"
$LIBS
$HDF5_LIBS
-lm -lz
$GSL_LIBS
$GTK_LIBS
$OPENCL_LIBS
-lutil
"
ac_config_files
=
"
$ac_config_files
Makefile src/Makefile data/Makefile"
...
...
@@ -5643,13 +5626,6 @@ $as_echo "$as_me: error: conditional \"HAVE_GTK\" was never defined.
Usually this means the macro was only invoked conditionally."
>
&2
;
}
{
(
exit
1
)
;
exit
1
;
}
;
}
fi
if
test
-z
"
${
HAVE_GLIB_TRUE
}
"
&&
test
-z
"
${
HAVE_GLIB_FALSE
}
"
;
then
{
{
$as_echo
"
$as_me
:
$LINENO
: error: conditional
\"
HAVE_GLIB
\"
was never defined.
Usually this means the macro was only invoked conditionally."
>
&5
$as_echo
"
$as_me
: error: conditional
\"
HAVE_GLIB
\"
was never defined.
Usually this means the macro was only invoked conditionally."
>
&2
;
}
{
(
exit
1
)
;
exit
1
;
}
;
}
fi
if
test
-z
"
${
HAVE_OPENCL_TRUE
}
"
&&
test
-z
"
${
HAVE_OPENCL_FALSE
}
"
;
then
{
{
$as_echo
"
$as_me
:
$LINENO
: error: conditional
\"
HAVE_OPENCL
\"
was never defined.
Usually this means the macro was only invoked conditionally."
>
&5
...
...
configure.ac
View file @
46a7ae42
...
...
@@ -54,18 +54,15 @@ AS_IF([test "x$enable_opencl" == "xyes"],
AC_ARG_ENABLE(gtk, AS_HELP_STRING([--disable-gtk], [Disable GTK+/GLib]))
haveglib=false
havegtk=false
AC_MSG_CHECKING([whether to use GTK
/GLib
])
AC_MSG_CHECKING([whether to use GTK])
AS_IF([test "x$enable_gtk" != "xno"],
[
AC_MSG_RESULT([yes])
AM_PATH_GTK_2_0(2.0.0,
[
havegtk=true
haveglib=true
AC_DEFINE([HAVE_GLIB], [1], [Define to 1 if GLib is available])
GTK_LIBS="$GTK_LIBS -lgthread-2.0 -lutil"
GTK_LIBS="$GTK_LIBS"
],
[
AC_MSG_WARN([GTK not found. hdfsee will not be built.])
...
...
@@ -76,10 +73,9 @@ AS_IF([test "x$enable_gtk" != "xno"],
])
AM_CONDITIONAL([HAVE_GTK], test x$havegtk = xtrue)
AM_CONDITIONAL([HAVE_GLIB], test x$haveglib = xtrue)
AM_CONDITIONAL([HAVE_OPENCL], test x$have_opencl = xtrue)
CFLAGS="$CFLAGS $HDF5_CFLAGS $GTK_CFLAGS $GSL_CFLAGS $OPENCL_CFLAGS"
LIBS="$LIBS $HDF5_LIBS -lm -lz $GSL_LIBS $GTK_LIBS $OPENCL_LIBS"
LIBS="$LIBS $HDF5_LIBS -lm -lz $GSL_LIBS $GTK_LIBS $OPENCL_LIBS
-lutil
"
AC_OUTPUT(Makefile src/Makefile data/Makefile)
src/Makefile.am
View file @
46a7ae42
...
...
@@ -23,15 +23,12 @@ process_hkl_LDADD = @LIBS@
indexamajig_SOURCES
=
indexamajig.c hdf5-file.c utils.c cell.c image.c
\
intensities.c peaks.c index.c filters.c
\
diffraction.c detector.c sfac.c
diffraction.c detector.c sfac.c
dirax.c
indexamajig_LDADD
=
@LIBS@
if
HAVE_OPENCL
indexamajig_SOURCES
+=
diffraction-gpu.c cl-utils.c
endif
if
HAVE_GLIB
indexamajig_SOURCES
+=
dirax.c
endif
if
HAVE_GTK
hdfsee_SOURCES
=
hdfsee.c displaywindow.c render.c hdf5-file.c utils.c image.c
\
...
...
@@ -49,8 +46,4 @@ powder_plot_SOURCES = powder_plot.c cell.c utils.c image.c hdf5-file.c \
detector.c
powder_plot_LDADD
=
@LIBS@
if
HAVE_GLIB
powder_plot_SOURCES
+=
dirax.c
endif
INCLUDES
=
"-I
$(top_srcdir)
/data"
src/Makefile.in
View file @
46a7ae42
...
...
@@ -38,8 +38,6 @@ bin_PROGRAMS = pattern_sim$(EXEEXT) process_hkl$(EXEEXT) \
@HAVE_GTK_TRUE@
am__append_1
=
hdfsee
@HAVE_OPENCL_TRUE@
am__append_2
=
diffraction-gpu.c cl-utils.c
@HAVE_OPENCL_TRUE@
am__append_3
=
diffraction-gpu.c cl-utils.c
@HAVE_GLIB_TRUE@
am__append_4
=
dirax.c
@HAVE_GLIB_TRUE@
am__append_5
=
dirax.c
subdir
=
src
DIST_COMMON
=
$(srcdir)
/Makefile.am
$(srcdir)
/Makefile.in
ACLOCAL_M4
=
$(top_srcdir)
/aclocal.m4
...
...
@@ -71,16 +69,15 @@ hdfsee_OBJECTS = $(am_hdfsee_OBJECTS)
hdfsee_DEPENDENCIES
=
am__indexamajig_SOURCES_DIST
=
indexamajig.c hdf5-file.c utils.c
\
cell.c image.c intensities.c peaks.c index.c filters.c
\
diffraction.c detector.c sfac.c diffraction-gpu.c
cl-utils.c
\
dirax
.c
diffraction.c detector.c sfac.c
dirax.c
diffraction-gpu.c
\
cl-utils
.c
@HAVE_OPENCL_TRUE@
am__objects_1
=
diffraction-gpu.
$(OBJEXT)
\
@HAVE_OPENCL_TRUE@ cl-utils.
$(OBJEXT)
@HAVE_GLIB_TRUE@
am__objects_2
=
dirax.
$(OBJEXT)
am_indexamajig_OBJECTS
=
indexamajig.
$(OBJEXT)
hdf5-file.
$(OBJEXT)
\
utils.
$(OBJEXT)
cell.
$(OBJEXT)
image.
$(OBJEXT)
\
intensities.
$(OBJEXT)
peaks.
$(OBJEXT)
index.
$(OBJEXT)
\
filters.
$(OBJEXT)
diffraction.
$(OBJEXT)
detector.
$(OBJEXT)
\
sfac.
$(OBJEXT)
$(am__objects_1
)
$(am__objects_
2
)
sfac.
$(OBJEXT)
dirax.
$(OBJEXT
)
$(am__objects_
1
)
indexamajig_OBJECTS
=
$(am_indexamajig_OBJECTS)
indexamajig_DEPENDENCIES
=
am__pattern_sim_SOURCES_DIST
=
pattern_sim.c diffraction.c utils.c
\
...
...
@@ -92,11 +89,9 @@ am_pattern_sim_OBJECTS = pattern_sim.$(OBJEXT) diffraction.$(OBJEXT) \
intensities.
$(OBJEXT)
reflections.
$(OBJEXT)
$(am__objects_1)
pattern_sim_OBJECTS
=
$(am_pattern_sim_OBJECTS)
pattern_sim_DEPENDENCIES
=
am__powder_plot_SOURCES_DIST
=
powder_plot.c cell.c utils.c image.c
\
hdf5-file.c detector.c dirax.c
am_powder_plot_OBJECTS
=
powder_plot.
$(OBJEXT)
cell.
$(OBJEXT)
\
utils.
$(OBJEXT)
image.
$(OBJEXT)
hdf5-file.
$(OBJEXT)
\
detector.
$(OBJEXT)
$(am__objects_2)
detector.
$(OBJEXT)
powder_plot_OBJECTS
=
$(am_powder_plot_OBJECTS)
powder_plot_DEPENDENCIES
=
am_process_hkl_OBJECTS
=
process_hkl.
$(OBJEXT)
sfac.
$(OBJEXT)
\
...
...
@@ -117,8 +112,8 @@ SOURCES = $(compare_hkl_SOURCES) $(get_hkl_SOURCES) $(hdfsee_SOURCES) \
$(powder_plot_SOURCES)
$(process_hkl_SOURCES)
DIST_SOURCES
=
$(compare_hkl_SOURCES)
$(get_hkl_SOURCES)
\
$(am__hdfsee_SOURCES_DIST)
$(am__indexamajig_SOURCES_DIST)
\
$(am__pattern_sim_SOURCES_DIST)
\
$(am__powder_plot_SOURCES_DIST)
$(process_hkl_SOURCES)
$(am__pattern_sim_SOURCES_DIST)
$(powder_plot_SOURCES)
\
$(process_hkl_SOURCES)
ETAGS
=
etags
CTAGS
=
ctags
DISTFILES
=
$(DIST_COMMON)
$(DIST_SOURCES)
$(TEXINFOS)
$(EXTRA_DIST)
...
...
@@ -223,7 +218,7 @@ process_hkl_SOURCES = process_hkl.c sfac.c statistics.c cell.c utils.c \
process_hkl_LDADD
=
@LIBS@
indexamajig_SOURCES
=
indexamajig.c hdf5-file.c utils.c cell.c image.c
\
intensities.c peaks.c index.c filters.c diffraction.c
\
detector.c sfac.c
$(am__append_3)
$(am__append_
4
)
detector.c sfac.c
dirax.c
$(am__append_
3
)
indexamajig_LDADD
=
@LIBS@
@HAVE_GTK_TRUE@
hdfsee_SOURCES
=
hdfsee.c displaywindow.c render.c hdf5-file.c utils.c image.c
\
@HAVE_GTK_TRUE@ filters.c
...
...
@@ -234,7 +229,8 @@ get_hkl_LDADD = @LIBS@
compare_hkl_SOURCES
=
compare_hkl.c sfac.c cell.c utils.c reflections.c
compare_hkl_LDADD
=
@LIBS@
powder_plot_SOURCES
=
powder_plot.c cell.c utils.c image.c hdf5-file.c
\
detector.c
$(am__append_5)
detector.c
powder_plot_LDADD
=
@LIBS@
INCLUDES
=
"-I
$(top_srcdir)
/data"
all
:
all-am
...
...
src/dirax.c
View file @
46a7ae42
...
...
@@ -15,7 +15,6 @@
#endif
#include
<glib.h>
#include
<stdlib.h>
#include
<stdio.h>
#include
<math.h>
...
...
@@ -165,8 +164,7 @@ static void dirax_send_next(struct image *image)
break
;
default:
image
->
dirax_step
=
0
;
g_main_loop_quit
(
image
->
dirax_ml
);
dirax_sendline
(
"exit
\n
"
,
image
);
return
;
}
...
...
@@ -175,24 +173,15 @@ static void dirax_send_next(struct image *image)
}
static
gboolean
dirax_readable
(
GIOChannel
*
dirax
,
GIOCondition
condition
,
struct
image
*
image
)
static
int
dirax_readable
(
struct
image
*
image
)
{
int
rval
;
int
no_string
=
0
;
rval
=
read
(
image
->
dirax_pty
,
image
->
dirax_rbuffer
+
image
->
dirax_rbufpos
,
image
->
dirax_rbuflen
-
image
->
dirax_rbufpos
);
image
->
dirax_rbuflen
-
image
->
dirax_rbufpos
);
if
(
(
rval
==
-
1
)
||
(
rval
==
0
)
)
{
ERROR
(
"Lost connection to DirAx (rval=%i)
\n
"
,
rval
);
waitpid
(
image
->
dirax_pid
,
NULL
,
0
);
g_io_channel_shutdown
(
image
->
dirax
,
FALSE
,
NULL
);
image
->
dirax
=
NULL
;
return
FALSE
;
}
if
(
(
rval
==
-
1
)
||
(
rval
==
0
)
)
return
1
;
image
->
dirax_rbufpos
+=
rval
;
assert
(
image
->
dirax_rbufpos
<=
image
->
dirax_rbuflen
);
...
...
@@ -264,10 +253,7 @@ static gboolean dirax_readable(GIOChannel *dirax, GIOCondition condition,
/* Obviously, this never happens :) */
ERROR
(
"Unrecognised DirAx input mode! "
"I don't know how to understand DirAx
\n
"
);
waitpid
(
image
->
dirax_pid
,
NULL
,
0
);
g_io_channel_shutdown
(
image
->
dirax
,
FALSE
,
NULL
);
image
->
dirax
=
NULL
;
return
FALSE
;
return
1
;
}
...
...
@@ -306,7 +292,7 @@ static gboolean dirax_readable(GIOChannel *dirax, GIOCondition condition,
}
return
TRUE
;
return
0
;
}
...
...
@@ -315,6 +301,7 @@ void run_dirax(struct image *image)
unsigned
int
opts
;
int
saved_stderr
;
int
status
;
int
rval
;
saved_stderr
=
dup
(
STDERR_FILENO
);
image
->
dirax_pid
=
forkpty
(
&
image
->
dirax_pty
,
NULL
,
NULL
,
NULL
);
...
...
@@ -352,13 +339,34 @@ void run_dirax(struct image *image)
image
->
dirax_step
=
1
;
/* This starts the "initialisation" procedure */
image
->
dirax_read_cell
=
0
;
image
->
dirax
=
g_io_channel_unix_new
(
image
->
dirax_pty
);
g_io_add_watch
(
image
->
dirax
,
G_IO_IN
|
G_IO_HUP
,
(
GIOFunc
)
dirax_readable
,
image
);
do
{
fd_set
fds
;
struct
timeval
tv
;
int
sval
;
FD_ZERO
(
&
fds
);
FD_SET
(
image
->
dirax_pty
,
&
fds
);
tv
.
tv_sec
=
1
;
tv
.
tv_usec
=
0
;
sval
=
select
(
image
->
dirax_pty
+
1
,
&
fds
,
NULL
,
NULL
,
&
tv
);
if
(
sval
==
-
1
)
{
ERROR
(
"select() failed.
\n
"
);
rval
=
1
;
}
else
if
(
sval
!=
0
)
{
rval
=
dirax_readable
(
image
);
}
else
{
ERROR
(
"No response from DirAx..
\n
"
);
rval
=
1
;
}
}
while
(
!
rval
);
image
->
dirax_ml
=
g_main_loop_new
(
NULL
,
FALSE
);
g_main_loop_run
(
image
->
dirax_ml
);
close
(
image
->
dirax_pty
);
close
(
saved_stderr
);
wait
(
&
status
);
return
;
...
...
src/dirax.h
View file @
46a7ae42
...
...
@@ -19,17 +19,8 @@
#include
"utils.h"
#if HAVE_GLIB
extern
void
run_dirax
(
struct
image
*
image
);
#else
static
void
run_dirax
(
struct
image
*
image
)
{
ERROR
(
"Can't run DirAx without GLib.
\n
"
);
}
#endif
#endif
/* DIRAX_H */
src/hdfsee.c
View file @
46a7ae42
...
...
@@ -91,7 +91,6 @@ int main(int argc, char *argv[])
{
0
,
0
,
NULL
,
0
}
};
g_thread_init
(
NULL
);
gtk_init
(
&
argc
,
&
argv
);
/* Short options */
...
...
src/image.h
View file @
46a7ae42
...
...
@@ -87,19 +87,16 @@ struct image {
ImageFeatureList
*
rflist
;
/* "Predicted" features */
/* DirAx auto-indexing low-level stuff */
#if HAVE_GLIB
GIOChannel
*
dirax
;
int
dirax_pty
;
pid_t
dirax_pid
;
char
*
dirax_rbuffer
;
int
dirax_rbufpos
;
int
dirax_rbuflen
;
GMainLoop
*
dirax_ml
;
/* DirAx auto-indexing high-level stuff */
int
dirax_step
;
int
dirax_read_cell
;
#endif
};
/* An opaque type representing a list of images */
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment